根据医生们的说法,maven调用插件是“线程安全的,并且支持并行构建。”但是,当我使用-T 1C构建多模块项目时,会出现如下错误:
错误未能在项目my-原型:未能安装项目依赖项: MavenProject: com.tavianator:my-原型:1.6-快照@ /home/tavianator/code/Project/my-archetype/pom.xml:未能安装项目工件: MavenProject: com.tavianator:My-快照@ /home/tavianator/code/Project/my-project/pom.xml:未能安装工件:MavenProject:com.tavianator:my-/home/tavianator/code/Project/my-project/pom.xml::Com.tavianator:my-project:jar:1.6-快照:工件尚未完全组装: /home/tavianator/code/Project/my-project/target/classes ->帮助1
项目布局如下:
Root
|--Project 1
|--Project 2
|--Archetype (depends on Project 1, scope=test)原型集成测试使用maven-invoker plugin将相关的依赖项(根和项目1)安装到本地存储库,然后运行正常的原型集成测试。在并行构建中,原型和项目2同时运行。当maven-invoker-plugin运行时,它尝试将Project 2安装到本地回购,但项目2尚未构建,因此出现了错误。
但是由于测试甚至不需要Project 2,所以我应该能够通过显式安装所需的依赖项来解决这个问题。我看不出如何让调用程序插件做到这一点,但是我还可以使用另一个插件吗?
发布于 2017-12-24 17:25:27
除了在快速构建配置中建议的设置之外,我还遇到了这个问题(比如在每次运行时被调用的项目下载了一些工件),并实现了我自己的解决方案。您可以使用以下命令来代替调用者:安装目标:
<plugin>
<groupId>com.github.veithen.invoker</groupId>
<artifactId>resolver-proxy-maven-plugin</artifactId>
<version>0.1</version>
<executions>
<execution>
<goals>
<goal>start</goal>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>请注意,不需要显式配置settings.xml或专用本地存储库。这是自动完成的。
目前,插件中的代码是实验性的。如果结果足够健壮,我将提交一个补丁,将其集成到maven-invoker plugin中。更多信息,这里。
https://stackoverflow.com/questions/30670541
复制相似问题