Java 在Maven依赖项中指定jar和测试jar类型

Java 在Maven依赖项中指定jar和测试jar类型,java,maven,Java,Maven,我有一个名为“commons”的项目,其中包含运行时和测试的公共包含 在主项目中,我为commons添加了一个依赖项: <dependency> <groupId>com.alexb</groupId> <artifactId>commons</artifactId> <version>1.0-SNAPSHOT</version> </depe

我有一个名为“commons”的项目,其中包含运行时和测试的公共包含

在主项目中,我为commons添加了一个依赖项:

    <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部分项目分离到一个单独的项目中,然后您可以独立于其他项目使用它。