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 标志设置为 true 来启用对 PDE 的支持。
<plugin> <artifactId>maven-eclipse-plugin</artifactId> <version>2.9</version> <configuration> <pde>true</pde> </configuration> </plugin>
在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>
使用maven-eclipse-plugin正确配置 Eclipse后,构建 PDE 项目的任务是以下一项或多项的工作:
有关进一步的构建说明,请参阅上面的链接。