在Maven依赖项中指定jar和test-jar类型

时间:2015-12-18 15:28:33

标签: java maven

我有一个名为“commons”的项目,其中包含运行时和测试的常见包含。

在主项目中,我添加了一个公共依赖项:

    <dependency>
        <groupId>com.alexb</groupId>
        <artifactId>commons</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>

但是不包括测试常用文件。所以我补充道:

    <dependency>
        <groupId>com.alexb</groupId>
        <artifactId>commons</artifactId>
        <version>1.0-SNAPSHOT</version>
        <type>test-jar</type>       
    </dependency>

但是当type是test-jar时,不包括运行时。

不幸的是,似乎我不能同时包括两者:

<type>jar,test-jar</type>       

我可以做些什么来包括两者?

1 个答案:

答案 0 :(得分:0)

正如@khmarbaise在评论中提到的那样,您应该分离测试罐零件项目。

我假设您在commons pom.xml中有类似这样的内容,它会生成通用的测试jar。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>3.1.1</version>
    <executions>
      <execution>
        <goals>
          <goal>test-jar</goal>
        </goals>
      </execution>
    </executions>
  </plugin>

这种方法的问题是您不会自动获得可传递测试范围的依赖项。

检查此链接以获取更多详细信息:

https://maven.apache.org/plugins/maven-jar-plugin/examples/create-test-jar.html