Eclipse 插件开发环境支持

Eclipse 插件支持为 Eclipse PDE(插件开发环境)创建配置。

这些配置可用于创建 Eclipse 插件、特性或 Eclipse RCP 产品。

请注意,maven-eclipse-plugin的范围是将 Eclipse .project.classpath文件与 pom 文件中的配置同步。一旦您完成了如下配置的 Eclipse 插件,并且一旦您运行了eclipse:eclipse目标,您就可以使用 Eclipse IDE 或Eclipse headless PDE build来构建您的插件代码。可以使用 pde -maven-plugin从 Maven 中触发 Eclipse 无头 PDE 构建。

启用 PDE 支持

通过在配置中将 pde 标志设置为 true 来启用对 PDE 的支持

      <plugin>
        <artifactId>maven-eclipse-plugin</artifactId>
        <version>2.9</version>
        <configuration>
          <pde>true</pde>
        </configuration>
      </plugin>

Eclipse PDE 配置

maven-eclipse-plugin中启用 PDE 支持后,Eclipse 项目文件的配置与默认值不同。下面解释这些差异。

  • 插件性质

    org.eclipse.pde.PluginNature被添加到 Eclipse 项目性质列表中,向 Eclipse 表明该项目是一个 PDE 项目。

  • 插件依赖

    Plugin Dependencies库被添加到 Eclipse 类路径中。这个 Eclipse 库解决了 Eclipse/OSGI 依赖关系,并消除了 maven 显式依赖 eclipse jar 的需要。

  • 链接资源

    为了让 Eclipse PDE 系统构建或部署一个 Eclipse PDE 项目,它要求依赖的 jars 存在于项目本身的某个地方。

    默认情况下,eclipse:eclipse目标设置 Eclipse 类路径,以便项目依赖于外部本地 maven 存储库中的 jar。当启用 PDE 模式时,依赖项被配置为 Eclipse 链接资源。

    Eclipse 链接资源的工作方式类似于 Eclipse IDE 中的符号链接。这些链接的资源出现在您的 PDE 项目的根目录中,并根据 Eclipse 的要求将您的存储库中的 jar 链接到您的项目的根目录中。

    注意:链接资源可以从 Eclipse IDE 中正确引用,但是由于 Eclipse 无头 PDE 构建的限制,链接资源无法从 Eclipse 无头 PDE 构建中正确引用。因此,尝试使用 Eclipse 导出向导导出您的插件、功能或产品,以及尝试使用 pde-maven-plugin 执行此操作都会失败,尽管在 IDE 中使用相同的构建。

    解决方法是在运行 Eclipse 之前使用maven-dependency-plugin将依赖的 jar 复制到项目的根目录中。maven-clean-plugin配置为删除mvn clean上的这些 jar 文件。不要忘记将源代码控制服务器配置为忽略项目根目录中的 *.jar 文件。

          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.1</version>
            <executions>
              <execution>
                <id>copy-dependencies</id>
                <phase>process-sources</phase>
                <goals>
                  <goal>copy-dependencies</goal>
                </goals>
                <configuration>
                  <outputDirectory>${basedir}</outputDirectory>
                  <overWriteReleases>false</overWriteReleases>
                  <overWriteSnapshots>false</overWriteSnapshots>
                  <overWriteIfNewer>true</overWriteIfNewer>
                </configuration>
              </execution>
            </executions>
          </plugin>
     
          <plugin>
            <artifactId>maven-clean-plugin</artifactId>
            <version>2.3</version>
            <configuration>
              <filesets>
                <fileset>
                  <directory>${basedir}</directory>
                  <includes>
                    <include>*.jar</include>
                  </includes>
                  <followSymlinks>false</followSymlinks>
                 </fileset>
               </filesets>
             </configuration>
           </plugin>

构建 PDE 代码

使用maven-eclipse-plugin正确配置 Eclipse后,构建 PDE 项目的任务是以下一项或多项的工作: