1

我需要将 src/test/java 文件与依赖项一起包含到我的 jar 中。但是当我创建 jar 时它失败了,因为它找不到类。这是 pom 部分。任何帮助,将不胜感激。我编译: mvn clean assembly:single

<plugin>
  <artifactId>maven-assembly-plugin</artifactId>
  <configuration>
    <descriptorRefs>
      <descriptorRef>jar-with-dependencies</descriptorRef>
    </descriptorRefs>
   </configuration>
   <executions>
     <execution>
       <phase>package</phase>
       <goals>
         <goal>single</goal>
       </goals>
     </execution>
   </executions>
</plugin>
4

3 回答 3

1

或者您可以使用 maven 资源插件并将 src/test/java 标记为附加源

类似的问题在这里被问到

于 2014-04-01T20:46:13.180 回答
0

想分享我是如何让它工作的,虽然很丑。重申一下,我只想在创建带有依赖项的 jar 时才将测试类添加到类路径中。我做了什么:

从 assembly-pludin 切换到 shade-plugin 并将我需要的 .class 文件从 target/test-classes 移动到 jar 中的适当位置

<transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
    <file>target/test-classes/path/to/class/i/need/file.class</file>
    <resource>in/classpath/destination/of/class/i/need/file.class</resource>
</transformer>

它的美化复制粘贴,并没有看到通过目录这样做的方法,所以一次 1 .class。

非常丑陋,没有动态,我还在寻找更好的方法。但现在它会做。

于 2014-04-04T15:12:34.493 回答
0

默认情况下它不包括在内,您可以使用maven 程序集插件获得更大的灵活性,您可以使用它来生成包含您想要放入的任何内容的 jar

于 2014-04-01T20:30:49.850 回答