1

我看到很多类似的问题。但无法使这项工作。

到目前为止,我已经尝试过 testresources 和 build-helper-maven-plugin

我还在 1 个线程中阅读了如何编写我自己的程序集插件来做类似的事情。

但是再次发布此内容以查看是否有我不知道的更清洁的方法

这是现有代码,我必须修复它。问题是当我在成功构建后打开 jar 时,我无法在 jar 中找到 src/test/java 类。我们有一个 maven build-helper-maven-plugin 和 maven-jar-plugin。但是我仍然看不到其中的测试类。

<build>
        <plugins>
          <plugin>
           <groupId>org.codehaus.mojo</groupId>
           <artifactId>build-helper-maven-plugin</artifactId>
           <version>1.7</version>
           <executions>
             <execution>
               <id>add-source</id>
               <phase>generate-sources</phase>
               <goals>
                 <goal>add-source</goal>
               </goals>
               <configuration>
               <sources>
                    <source>src/test/java</source>
                </sources>
                </configuration>
             </execution>
           </executions>
          </plugin>
          <plugin>
           <artifactId>maven-jar-plugin</artifactId>
           <version>2.3.1</version>
           <executions>
             <execution>
               <phase>package</phase>
               <goals>
                 <goal>jar</goal>
               </goals>
               <configuration>
                 <classifier>test</classifier>
               </configuration>
             </execution>
           </executions>
         </plugin>
        </plugins>
    </build>

我在目标文件夹内的 test-classes 目录中看到生成的类。但不在罐子里

我希望它们在 jar 中,因为我依赖于另一个项目中的那个 jar。另一个项目没有编译,因为它在 src/test/Java 中导入了该测试类

我不能只为这种情况创建一个新项目,因为我没有这种自由。

4

1 回答 1

1

您是否尝试maven-dependency-plugin(而不是build-helper-maven-plugin)与 结合使用maven-jar-plugin

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>2.9</version><!--$NO-MVN-MAN-VER$-->
    <executions>
        <execution>
            <id>unpack</id>
            <phase>prepare-package</phase>
            <goals>
                <goal>unpack</goal>
            </goals>
            <configuration>
                <artifactItems>
                    <artifactItem>
                        <groupId>you-project-group-id</groupId>
                        <artifactId>you-project-artifact-id</artifactId>
                        <version>${project.version}</version>
                        <type>test-jar</type>
                        <overWrite>false</overWrite>
                        <outputDirectory>${project.build.directory}/classes</outputDirectory>
                    </artifactItem>
                </artifactItems>
            </configuration>
        </execution>
    </executions>
</plugin>
于 2015-07-27T22:50:46.163 回答