在我的项目中,我正在尝试使用Maven/Tycho导出Eclipse RCP应用程序.
在"SNAPSHOT"发布配置中,所有插件(以及它自己的产品)使用以下版本模式:
OSGI: x.y.z.qualifier
MVN: x.y.z-SNAPSHOT
Run Code Online (Sandbox Code Playgroud)
交货将使用以下模式
OSGI: x.y.z.vyyyyMMddHHmm
MVN: x.y.z-vyyyyMMddHHmm
Run Code Online (Sandbox Code Playgroud)
你可以注意到," - "和"."之间只有区别.
对于RCP插件,我必须通过使用以下maven插件禁用tycho执行的检查来验证版本
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-packaging-plugin</artifactId>
<version>0.22.0</version>
<configuration>
<strictVersions>false</strictVersions>
</configuration>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切都很好.
当它来自RCP应用程序的产品时,我有以下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>
<parent>
<groupId>XXXXXX.user-interfaces</groupId>
<artifactId>user-interfaces-parent-pom</artifactId>
<version>0.2.0-v201505041341</version>
<relativePath>../../poms/parent-pom</relativePath>
</parent>
<artifactId>XXXXXX.product</artifactId>
<name>XXXXXX.product</name>
<packaging>eclipse-repository</packaging>
<!-- Make OSGi happy -->
<!-- version>0.2.0.v201505041341</version-->
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-director-plugin</artifactId>
<version>${tycho.version}</version>
<executions>
<execution>
<id>create-product-distributions</id>
<goals>
<goal>materialize-products</goal>
<goal>archive-products</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Run Code Online (Sandbox Code Playgroud)
父pom.xml只定义了一些更多的东西,比如P2存储库和tycho-maven-plugin构建步骤.
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<extensions>true</extensions>
</plugin>
</plugins> …Run Code Online (Sandbox Code Playgroud) Codehaus正在关闭其服务,包括SonarQube的Eclipse插件.有谁知道是否已经替换了P2存储库http://dist.sonar-ide.codehaus.org/eclipse/?
谢谢