2014-12-02 237 views
0

我的项目被分成几个模块,其中一个是常见的,它应该被用于其他模块。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> 

回答

0

答案很简单:不可能。该测试jar仅用于文件夹src/test/java(包括src/test/resources)下的编译类,但不适用于补充jar文件。

除此之外,使用系统范围通常是一个坏主意。 最好的办法是将这些罐子放入公司联系中,并将其用作通常的依赖关系。 Maven项目中的lib文件夹通常指示构建气味,应该避免。

BTW:你为什么使用maven-jar-plugin(2008版本2.2)的旧版本。 Current version版本2.5今年。

+0

谢谢,我会把他们放在我们的联系,看看它是如何从那里。 – J2B 2014-12-03 16:59:22