假设我有很多项目需要的一堆代码,但只是在测试中。
因此,我想为它创建一个单独的 maven 项目,例如,carlos-test-utils
并将其添加为我的项目中的测试依赖项。
但是,在我的carlos-test-utils
项目中,我还需要 JUnit。因此,我将其添加为测试依赖项,这显然不起作用,因为我将代码放在src/main/java
.
我想知道处理这种事情的最佳方法是什么。
按规定放置部门?
.java
跨项目复制文件的一些肮脏棘手的事情?
还有什么别的吗?
假设我有很多项目需要的一堆代码,但只是在测试中。
因此,我想为它创建一个单独的 maven 项目,例如,carlos-test-utils
并将其添加为我的项目中的测试依赖项。
但是,在我的carlos-test-utils
项目中,我还需要 JUnit。因此,我将其添加为测试依赖项,这显然不起作用,因为我将代码放在src/main/java
.
我想知道处理这种事情的最佳方法是什么。
按规定放置部门?
.java
跨项目复制文件的一些肮脏棘手的事情?
还有什么别的吗?
您可以通过maven-jar-plugin进行管理,该插件应通过以下方式用于此类情况:
这应该在应该提供测试类的模块/项目中完成,并且代码应该放在测试代码的常用文件夹src/test/java而不是src/main/java中。您的测试代码需要的所有依赖项都应该像通常的依赖项一样添加到范围test中。
<project>
...
<build>
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</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>
<scope>test</scope>
</dependency>
</dependencies>
...
</project>