首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“人造物不是完全组装”错误与maven-invoker plugin在并行构建

“人造物不是完全组装”错误与maven-invoker plugin在并行构建
EN

Stack Overflow用户
提问于 2015-06-05 15:37:43
回答 1查看 395关注 0票数 2

根据医生们的说法,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

项目布局如下:

代码语言:javascript
复制
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,所以我应该能够通过显式安装所需的依赖项来解决这个问题。我看不出如何让调用程序插件做到这一点,但是我还可以使用另一个插件吗?

我报告了maven调用插件程序的这里。我有一个演示错误这里的示例项目。

EN

回答 1

Stack Overflow用户

发布于 2017-12-24 17:25:27

除了在快速构建配置中建议的设置之外,我还遇到了这个问题(比如在每次运行时被调用的项目下载了一些工件),并实现了我自己的解决方案。您可以使用以下命令来代替调用者:安装目标:

代码语言:javascript
复制
<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中。更多信息,这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30670541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档