我在attaching tests guide和following question中描述的类似方式在多个模块之间共享src / test类。
所以,我有以下pom.xml依赖项:
<dependency>
<groupId>com.myco.app</groupId>
<artifactId>foo</artifactId>
</dependency>
<dependency>
<groupId>com.myco.app</groupId>
<artifactId>foo</artifactId>
<version>1.0.0-SNAPSHOT</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
但是,与上述问题相反,在连接测试jar时,我不想指定特定的测试jar版本。与编译级依赖关系一样:
<dependency>
<groupId>com.myco.app</groupId>
<artifactId>foo</artifactId>
<type>test-jar</type>
<scope>test</scope>
</dependency>
在这种情况下,我的pom.xml会因缺少版本的消息而出错。为什么会这样?为什么我可以指定依赖没有版本而不是test-jar?有没有办法克服这个问题,让测试罐使用它能找到的最新罐子?
答案 0 :(得分:2)
在没有版本的情况下可以使用主代码依赖的原因是存在一个&#34;主要的pom&#34;在我们的项目中,自动为部分中的每个依赖项生成适当的版本。因此,可以指定每个依赖项而无需特定的版本号。
另一方面,测试jar依赖,不能在传递依赖中的任何其他地方定义它的版本,因此,必须指定特定版本。