我正在尝试在测试期间在另一个maven模块中使用测试jar依赖项。就像在这个问题(Maven test dependency in multi module project)和maven指南中一样,我在模块A中放置了一个测试jar目标,并在模块B中对它进行了依赖,我希望在我的模块中使用A中的一些类。测试。 Eclipse正确识别我的所有类,当我从项目根运行干净安装,然后在模块B中运行mvn dependency:tree
时,我看到模块A.
然而,当我运行mvn clean install
时,maven抱怨
... package 'my.package.in.module.A' does not exist
我的项目结构是
reactor
--module A
--module B
Pom A:
...
<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>
...
Pom B:
...
<dependency>
<groupId>com.company.moduleA</groupId>
<artifactId>module-A</artifactId>
<version>moduleA-version</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
我遗漏了版本/工件/等隐私,但它们匹配正确。
我错过了什么吗?
编辑:这可能不是解决这个问题的正确方法,但我刚刚删除了<type>test-jar</type>
,并在不使用它的情况下使其工作。
答案 0 :(得分:1)
有一种解决方法。使用-DskipTests代替maven.test.skip。该 第二个也跳过了测试的汇编,所以测试罐 没有被创造。
请参阅http://maven.apache.org/plugins/maven-surefire-plugin/examples/skipping-test.html