Java 在Maven依赖项中指定jar和测试jar类型
我有一个名为“commons”的项目,其中包含运行时和测试的公共包含 在主项目中,我为commons添加了一个依赖项:Java 在Maven依赖项中指定jar和测试jar类型,java,maven,Java,Maven,我有一个名为“commons”的项目,其中包含运行时和测试的公共包含 在主项目中,我为commons添加了一个依赖项: <dependency> <groupId>com.alexb</groupId> <artifactId>commons</artifactId> <version>1.0-SNAPSHOT</version> </depe
<dependency>
<groupId>com.alexb</groupId>
<artifactId>commons</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
com.alexb
平民
1.0-快照
但是,不包括测试通用文件。所以我补充说:
<dependency>
<groupId>com.alexb</groupId>
<artifactId>commons</artifactId>
<version>1.0-SNAPSHOT</version>
<type>test-jar</type>
</dependency>
com.alexb
平民
1.0-快照
试验罐
但是,当类型为testjar时,不包括运行时
不幸的是,我似乎不能同时包括:
<type>jar,test-jar</type>
jar,测试jar
我能做些什么将两者都包括在内 正如@khmarbaise在评论中提到的,您应该将您的测试jar部分项目分开 我假设您在
commons
pom.xml中有类似的东西,它生成公共测试jar
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.1</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
org.apache.maven.plugins
为什么不复制两次依赖项,其中一个是jar类型,另一个是test jar???我没有创建两个项目,因为测试的包含项只是一个文件,就我所知,只为一个java文件创建一个单独的项目似乎没有任何意义,让它成为jar应该已经在测试范围内可用了,不是吗?如果我单独使用jar,测试文件就不包括在内了。我现在再次尝试并确认了。这表明您应该将您的测试jar部分项目分离到一个单独的项目中,然后您可以独立于其他项目使用它。