从Ant切换至Maven Tycho构建RCP插件项目:如何创建pom.xml
将Eclipse RCP插件项目从Ant迁移到Maven Tycho:创建pom.xml指南
插件项目完全可以手动创建pom.xml,不需要依赖IDE自动生成——Tycho的pom结构是适配Eclipse插件生态的,核心是和MANIFEST.MF等Eclipse配置文件联动,以下是具体步骤和注意事项:
1. 单个插件项目的pom.xml基础结构
在插件项目根目录新建pom.xml,填入以下内容并替换占位符:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <!-- 多模块项目需指向父pom,单插件项目可省略此配置 --> <parent> <groupId>com.your.group</groupId> <artifactId>your-parent-project</artifactId> <version>1.0.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <!-- artifactId必须与MANIFEST.MF中的Bundle-SymbolicName完全一致 --> <groupId>com.your.plugin.group</groupId> <artifactId>your-plugin-symbolic-name</artifactId> <!-- 版本号建议与MANIFEST.MF中的Bundle-Version匹配 --> <version>1.0.0-SNAPSHOT</version> <!-- Tycho专属打包类型,插件项目必须使用 --> <packaging>eclipse-plugin</packaging> <build> <plugins> <plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>tycho-maven-plugin</artifactId> <version>2.7.5</version> <!-- 替换为你使用的Tycho版本 --> <extensions>true</extensions> </plugin> </plugins> </build> </project>
2. 多模块RCP项目的父pom配置
如果你的RCP包含多个插件、特性或产品项目,必须创建父pom统一管理Tycho环境和依赖:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.your.group</groupId> <artifactId>your-parent-project</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>pom</packaging> <!-- 列出所有子模块(插件、特性、产品项目) --> <modules> <module>../plugin-one</module> <module>../feature-one</module> <module>../product-repo</module> </modules> <properties> <tycho.version>2.7.5</tycho.version> <!-- 统一管理Tycho版本 --> </properties> <repositories> <!-- 配置RCP依赖的Eclipse更新站点,Tycho会从这里拉取插件依赖 --> <repository> <id>eclipse-releases</id> <url>https://download.eclipse.org/releases/latest/</url> <layout>p2</layout> <!-- Tycho专属的p2仓库布局 --> </repository> </repositories> <build> <pluginManagement> <plugins> <plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>tycho-maven-plugin</artifactId> <version>${tycho.version}</version> <extensions>true</extensions> </plugin> <plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>target-platform-configuration</artifactId> <version>${tycho.version}</version> <configuration> <!-- 指向你的RCP目标平台文件(.target),无此文件可跳过 --> <target> <file>../your-target-platform.target</file> </target> </configuration> </plugin> </plugins> </pluginManagement> </build> </project>
3. 关键注意事项
- artifactId匹配:插件项目的
artifactId必须和MANIFEST.MF里的Bundle-SymbolicName完全一致,包括片段项目的.fragment后缀 - 打包类型区分:特性项目用
eclipse-feature,产品仓库项目用eclipse-repository,普通插件用eclipse-plugin - 版本同步:pom里的版本号尽量和
MANIFEST.MF的Bundle-Version保持一致,Tycho会自动同步两者的版本信息 - 产品项目配置:包含
.product文件的项目,需在pom中添加tycho-p2-director-plugin配置来生成可执行的RCP产品包
内容的提问来源于stack exchange,提问作者bsjy
相关产品推荐
相关产品推荐

