我觉得它应该正好是如何工作的,由即生成测试JAR,这是一种假象,即是由其他用作依赖的模块中,在我们的例子中,维持模块:
<build>
<plugins>
<!-- Generate test jar too -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
然后通过声明该试验瓶作为测试范围的其它模块的依赖性,在我们的例子中services
模块:
<!-- Services module -->
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>services</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>services</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
注除type
设置为test-jar
以及设置为测试的scope
外,第二个依赖关系与第一个依赖关系相同。现在
,你会想象写的service
模块中的测试将有机会获得persistence
模块的测试类(这个工程),而且在测试范围的维持模块的依赖关系。
但是,这是一个已知问题(https://issues.apache.org/jira/browse/MNG-1378),它不会这样工作。它自2005年以来一直开放,所以我不认为它在不久的将来得到修复......但是谁知道。
硅我将只需要复制两个模块的测试范围的依赖关系,或只是在父POM定义它们...
感谢这个,花了一个小时想知道为什么我没有找到异常类: – PiersyP 2013-11-07 12:56:08
谢谢!!对于它的价值,我不需要包含主模块工件的依赖关系,只需要'测试 '一,但其他人的里程可能会有所不同,当然。:) –
CullenJ
2017-02-17 23:03:43