Maven测试jar包括依赖关系
问题描述:
我的项目被分成几个模块,其中一个是常见的,它应该被用于其他模块。Maven测试jar包括依赖关系
在这个模块中有TestUtils,我希望能够使用其他模块。
我的库似乎没有添加到测试jar。我怎样才能做到这一点?
+ common
++ lib
++ src
+++ test
++++ java
++++ resources
+ pom.xml
我的pom.xml包含了一些图书馆,我通过系统的路径包括,如:
<dependency>
<groupId>com.ibm</groupId>
<artifactId>com.ibm.disthub2.dhbcore</artifactId>
<version>5.3.07</version>
<scope>system</scope>
<systemPath>${basedir}/lib/dhbcore.jar</systemPath>
</dependency>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
答
答案很简单:不可能。该测试jar仅用于文件夹src/test/java
(包括src/test/resources
)下的编译类,但不适用于补充jar文件。
除此之外,使用系统范围通常是一个坏主意。 最好的办法是将这些罐子放入公司联系中,并将其用作通常的依赖关系。 Maven项目中的lib文件夹通常指示构建气味,应该避免。
BTW:你为什么使用maven-jar-plugin(2008版本2.2)的旧版本。 Current version版本2.5今年。
谢谢,我会把他们放在我们的联系,看看它是如何从那里。 – J2B 2014-12-03 16:59:22