与Maven共享src / test类,没有test-jar

时间:2015-08-20 13:27:35

标签: java maven maven-3

我在attaching tests guidefollowing 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?有没有办法克服这个问题,让测试罐使用它能找到的最新罐子?

1 个答案:

答案 0 :(得分:2)

在没有版本的情况下可以使用主代码依赖的原因是存在一个&#34;主要的pom&#34;在我们的项目中,自动为部分中的每个依赖项生成适当的版本。因此,可以指定每个依赖项而无需特定的版本号。

另一方面,测试jar依赖,不能在传递依赖中的任何其他地方定义它的版本,因此,必须指定特定版本。