根据文档,maven-invoker-plugin 是“线程安全的并且支持并行构建”。但是,当我使用 构建多模块项目时-T 1C
,出现如下错误:
[错误] 无法执行目标 org.apache.maven.plugins:maven-invoker-plugin:1.10:install (integration-test) on project my-archetype: 无法安装项目依赖项:MavenProject: com.tavianator:my-archetype :1.6-SNAPSHOT @ /home/tavianator/code/Project/my-archetype/pom.xml: 无法安装项目工件:MavenProject: com.tavianator:my-project:1.6-SNAPSHOT @ /home/tavianator/code/Project /my-project/pom.xml:无法安装工件:com.tavianator:my-project:jar:1.6-SNAPSHOT:工件未完全组装:/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)安装到本地存储库,然后运行正常的原型集成测试。在并行构建中,Archetype 和 Project 2 同时运行。当 maven-invoker-plugin 运行时,它会尝试将 Project 2 安装到本地 repo,但 Project 2 尚未构建,因此出现错误。
但是由于测试甚至不需要 Project 2,我应该能够通过仅显式安装所需的依赖项来解决该问题。我不知道如何让调用程序插件做到这一点,但是我可以使用另一个插件吗?