我有一个包含多个子模块的maven(3)项目。其中一个,我希望它明确依赖于依赖,而不依赖于它的传递依赖。为此,我使用了以下内容:
<dependency>
<groupId>org.example</groupId>
<artifactId>foo</artifactId>
<version>${project.version}</version>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
这是有效的。在运行时期间,&#34; foo&#34;的传递依赖性。已经在类路径中,所以一切顺利。
但是,我需要&#34; foo&#34;传递依赖性进行测试。我试图声明&#34; foo&#34;的依赖关系。有范围测试,但它似乎与排除一切的那个冲突。它或者在测试中按预期工作,但在运行时失败,反之亦然。
你知道maven是否可以这样吗?
答案 0 :(得分:0)
当然可以,您需要声明2个不同的maven配置文件,包含您的依赖项。
http://maven.apache.org/guides/introduction/introduction-to-profiles.html
Different dependencies for different build profiles in maven
答案 1 :(得分:0)
你应该查看Maven的<scope>import</scope>
依赖项。创建一个<profile/>
进行测试,并定义一个pom
的依赖项,其中包含您感兴趣的这些测试依赖项。(这可能需要对pom.xml
- s进行一些重新处理,但是这将是一个很好的方法。)
查看here了解详情。