我正在尝试使用tycho-p2-director-plugin来实现产品,但插件似乎删除了执行端附近的工件。此外,所谓的插件阵容很奇怪:" tycho-p2-repository-plugin" - > "第谷包装-插件" - > "行家洁净的插件" - > "第谷-P2-导向器插件&#34 ;.
以下是产品项目的pom.xml:
...
<packaging>eclipse-repository</packaging>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-director-plugin</artifactId>
<version>0.24.0</version>
<executions>
<execution>
<id>materialize-products</id>
<goals>
<goal>materialize-products</goal>
</goals>
</execution>
</executions>
<configuration>
<products>
<product>
<id>productSample</id>
</product>
</products>
</configuration>
</plugin>
</plugins>
</build>
以下是调用&#34; mvn包&#34;的输出。关于产品项目:
[INFO] ------------------------------------------------------------------------
[INFO] Building com.product.project 1.2.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- tycho-packaging-plugin:0.24.0:build-qualifier-aggregator (default-build-qualifier-aggregator) @ com.product.project ---
[INFO] The project's OSGi version is 1.2.0.201511061039
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean-1) @ com.product.project ---
[INFO] Deleting C:\test\com.product.project\target
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ com.product.project ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\test\com.product.project\src\main\resources
[INFO]
[INFO] --- target-platform-configuration:0.24.0:target-platform (default-target-platform) @ com.product.project ---
[INFO]
[INFO] --- tycho-p2-publisher-plugin:0.24.0:publish-products (default-publish-products) @ com.product.project ---
[INFO]
[INFO] --- tycho-p2-publisher-plugin:0.24.0:publish-categories (default-publish-categories) @ com.product.project ---
[INFO]
[INFO] --- tycho-p2-publisher-plugin:0.24.0:attach-artifacts (default-attach-artifacts) @ com.product.project ---
[INFO]
[INFO] --- tycho-p2-repository-plugin:0.24.0:assemble-repository (default-assemble-repository) @ com.product.project ---
[INFO]
[INFO] --- tycho-p2-repository-plugin:0.24.0:archive-repository (default-archive-repository) @ com.product.project ---
[INFO] Building zip: C:\test\com.product.project\target\com.product.project-1.2.0-SNAPSHOT.zip
[INFO]
[INFO] >>> maven-source-plugin:2.2.1:jar (attach-sources) > generate-sources @ com.product.project >>>
[INFO]
[INFO] --- tycho-packaging-plugin:0.24.0:build-qualifier-aggregator (default-build-qualifier-aggregator) @ com.product.project ---
[INFO] The project's OSGi version is 1.2.0.201511061039
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean-1) @ com.product.project ---
[INFO] Deleting C:\test\com.product.project\target
[INFO]
[INFO] <<< maven-source-plugin:2.2.1:jar (attach-sources) < generate-sources @ com.product.project <<<
[INFO]
[INFO] --- maven-source-plugin:2.2.1:jar (attach-sources) @ com.product.project ---
[INFO] No sources in project. Archive not created.
[INFO]
[INFO] --- tycho-p2-director-plugin:0.24.0:materialize-products (materialize-products) @ com.product.project ---
[INFO] Installing product productSample for environment win32/win32/x86 to C:\test\com.product.project\target\products\productSample\win32\win32\x86
Installation failed.
The installable unit productSample has not been found.
Application failed, log file location: C:\test\workspace\.metadata\.log
很明显,tycho-p2-director-plugin将找不到任何文件,因为maven-clean-plugin在tycho-packaging-plugin之后以某种方式调用!任何想法为什么会发生这种情况?
答案 0 :(得分:4)
在eclipse-repository的默认生命周期[1]中有一个maven clean插件, 但它已映射到生命周期阶段&#39;初始化&#39;默认情况下。
使用id&#39; default-clean-1&#39;进行干净调用在你的构建日志中,我觉得很奇怪。
这可能是由分叉的maven生命周期引起的。 maven-source-plugin可能对此负责(至少我不希望在构建eclipse-repository包装类型时执行maven-source-plugin)
看起来[2]是相关的。尝试删除maven-source-plugin或者如果你真的需要它,请尝试使用它的jar-no-fork目标。
[1] https://dev.eclipse.org/mhonarc/lists/tycho-user/msg03724.html
[2] Difference between Maven source plugin jar and jar-no-fork goal?