gpt4 book ai didi

java-maven2 : How to include the a jar as depedency in pom so that I will be able to access test classes or classes in src/test/java folder

转载 作者:行者123 更新时间:2023-12-03 18:20:48 26 4
gpt4 key购买 nike

我有一组功能性的 jar(超过 3 个)来测试我的源代码。这些 jar 只包含测试类和辅助断言器类。我正在创建一个新的性能 jar,它将从这些 jar 中导入所有功能测试,以便所有功能测试都可以同时运行。但是当我将它们作为测试依赖项包含在当前 jar 的 pom 中时,我所看到的只是 src/main/java 中的类。我怎样才能将这些功能 jar 作为依赖 jar 包含在内,以便我也可以引用 src/test/java 中的类。换句话说,我如何引用其他jar中的测试类。我应该以何种方式包含依赖项。

感谢您的支持。

最佳答案

第一个选项

将您常用的“测试”代码放在一个单独的模块中(在 src/main/java 中)并使用 test 声明对该模块的依赖性需要通用代码的模块中的范围:

<dependency>
<groupId>my.group.id</groupId>
<artifactId>testing-framework</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>

这是一种常见的做法,没有任何问题。

第二个选项

使用 Maven JAR Plugin及其 jar:test-jar 为当前项目构建测试类的 JAR 作为 package 的一部分阶段( jar:test-jar 默认在 package 上绑定(bind)自身):

<project>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

要使用上面创建的附加测试 JAR,推荐的方法是指定对具有指定类型 test-jar 的主要工件的依赖项。 :

<project>
...
<dependencies>
<dependency>
<groupId>com.myco.app</groupId>
<artifactId>foo</artifactId>
<version>1.0-SNAPSHOT</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
</dependencies>
...
</project>

请参阅 Guide to using attached tests 底部的讨论为什么<type>test-jar</type>应该优先于 <classifier>tests</classifier> .

关于java-maven2 : How to include the a jar as depedency in pom so that I will be able to access test classes or classes in src/test/java folder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2987032/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com