Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jenkins中的生成失败,找到重复的资源_Java_Eclipse_Maven_Jenkins_Rest Assured - Fatal编程技术网

Java Jenkins中的生成失败,找到重复的资源

Java Jenkins中的生成失败,找到重复的资源,java,eclipse,maven,jenkins,rest-assured,Java,Eclipse,Maven,Jenkins,Rest Assured,我最近将此依赖项添加到pom.xml中 <dependency> <groupId>com.jayway.restassured</groupId> <artifactId>rest-assured</artifactId> <version>2.4.0</version> </dependency> 很可能您的新依赖项在您通过Maven(duplicate finder插件

我最近将此依赖项添加到pom.xml中

<dependency>
    <groupId>com.jayway.restassured</groupId>
    <artifactId>rest-assured</artifactId>
    <version>2.4.0</version>
</dependency>

很可能您的新依赖项在您通过Maven(duplicate finder插件)进行的测试中失败。从命令行(在POM文件级别)运行手动检查,以找出哪些类有问题:

mvn com.ning.maven.plugins:duplicate-finder-maven-plugin:1.0.4:check

然后,您可以删除依赖项,或者配置Maven插件来忽略这些。()

背景/细节

我有一个类似的问题,这让我陷入了一个循环,我开始质疑我的专业知识,并做了一些挖掘。如果您想了解有关duplicate finder的更多信息,可以在他们的github上阅读自述:

对于我参与的项目,我决定可以在依赖项中进行排除,或者向重复查找器添加异常。我在我的项目中看到了这两种情况,并想知道什么时候适合这样做

来自插件的消息有助于识别复制驻留的位置。当您尝试添加新的依赖项时,通常会看到这一点。当您看到这一点时,有两个选项,要么从依赖项中排除,要么在
com.ning.maven.plugins:duplicate finder maven plugin
配置中创建异常

总结/结论

添加异常只会忽略问题。因此,更干净的方法是在依赖项中添加排除项。这样你就能得到你想要的东西。此外,沿着异常路径走只会增加大量的额外工作,而这些工作并不是真正有用的。因此,该插件的目的是帮助您识别重复,然后尝试通过依赖项中的排除来处理它们

如何排除的示例

在您的示例/案例中,以下其中一项适用于您:

<dependency>
    <groupId>com.jayway.restassured</groupId>
    <artifactId>rest-assured</artifactId>
    <version>2.4.0</version>
    <exclusions>
        <exclusion>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-json</artifactId>
        </exclusion>
    </exclusions>
</dependency>

com.jayway.restassed
放心
2.4.0
org.codehaus.groovy
groovy json


com.jayway.restassed
放心
2.4.0
org.codehaus.groovy
棒极了

您可以做的是遵循范围规则,这意味着,根据其范围分离依赖项,例如在您的情况下,放心用于测试,为什么不将其置于测试范围内:

<scope>test</scope>
测试

其次,我通常在我的本地机器上执行Jenkins发出的完全相同的命令,通常它确实有帮助,从您的错误日志中,我认为它与其他错误无关,因此请尝试在本地运行Jenkins端的MVN目标,并确保您有相同的错误。如果不是,它可以是maven的不同配置,例如通过Jenkins机器中的settings.xml。

使用以避免重复查找器。

我没有在pom中使用重复查找器插件。但是我仍然因为这个而导致构建失败?控制台的最后一行显示这个重复的finder插件正在运行,导致构建失败。如果您不是有意使用此功能,请将其删除并查看其是否有效。
<dependency>
    <groupId>com.jayway.restassured</groupId>
    <artifactId>rest-assured</artifactId>
    <version>2.4.0</version>
    <exclusions>
        <exclusion>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<scope>test</scope>