假设我有两个项目A和B,一个项目只有测试用例。项目B依赖于A,并将使用A中的类作为src/main/java
下的源编译。 maven能够实现这一目标吗?怎么样?
我知道这很奇怪,但这就是我环境中的情况。
提前致谢。
答案 0 :(得分:1)
关注Guide to using attached tests:
确保在项目A
中创建这些测试罐<project>
<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>
</project>
然后在项目B中使用它们
<project>
...
<dependencies>
<dependency>
<groupId>com.myco.app</groupId>
<artifactId>foo</artifactId>
<version>1.0-SNAPSHOT</version>
<type>test-jar</type>
<scope>compile</scope>
</dependency>
</dependencies>
...
</project>
答案 1 :(得分:0)
这听起来像一个奇怪的用例。我花了一些时间来检查它是否真的是正确的项目结构。
如果您确定它是否是正确的项目结构,那么它只是maven中的依赖项。如果项目A中的类仅用于在项目B中进行测试,那么您可能还希望将依赖项范围设置为test
。
答案 2 :(得分:0)
像这样创建一个测试jar:
<project>
...
<build>
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
</build>
...
</project>
使用测试工件:
<project>
...
<dependencies>
<dependency>
<groupId>groupId</groupId>
<artifactId>artifactId</artifactId>
<type>test-jar</type>
<version>version</version>
</dependency>
</dependencies>
...
</project>