Maven 在构建我们的多模块项目时抛出了一个奇怪的警告。我只是在另一个项目中引用同一项目的 jar 和 test-jar。两个依赖项都有测试范围。我正在运行 Maven 3.3.1,无法轻松升级版本。
你们中有人知道如何在不从 Maven 收到此警告的情况下解决问题吗?
ProjectA的pom.xml:
<dependency> <!-- This is line 130 -->
<groupId>${project.groupId}</groupId>
<artifactId>projectB</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>projectB</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
来自 maven(匿名)的警告:
[WARNING] Some problems were encountered while building the effective model for org.group.ProjectA:1.0-SNAPSHOT [WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: ${project.groupId}:org.group.ProjectB:jar -> duplicate declaration of version ${project.version} @ org.group.ProjectA, /var/lib/jenkins/jobs/nicejob/workspace/org.group.ProjectA/pom.xml, line 130, column 15
最佳答案
看test-jar documentation我会说这两个 Artifact 基本上是相同的,并且“test-jar”一个不应在测试阶段之外使用,因为它包含测试类。
一个好的方法可能是:
关于 maven 警告 : duplicate version when using two different types of dependecy of the same artifact,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36778275/