如何修改pom文件以将src/test/java文件添加到具有依赖性的maven jar
我需要在jar中包含src/test/java文件和依赖项。但是当我创建jar时,它失败了,因为它找不到类。这是pom部分。任何帮助都将不胜感激。 我使用:mvn clean assembly:single编译如何修改pom文件以将src/test/java文件添加到具有依赖性的maven jar,java,maven,pom.xml,maven-assembly-plugin,jar-with-dependencies,Java,Maven,Pom.xml,Maven Assembly Plugin,Jar With Dependencies,我需要在jar中包含src/test/java文件和依赖项。但是当我创建jar时,它失败了,因为它找不到类。这是pom部分。任何帮助都将不胜感激。 我使用:mvn clean assembly:single编译 <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptorRefs> <descrip
<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>
maven汇编插件
带有依赖项的jar
包裹
单一的
默认情况下,它不包括在内,您可以有更大的灵活性,您可以使用它来生成包含任何内容的jar,您可以将内容放入其中,或者您可以使用maven资源插件并将src/test/java标记为附加源代码
想和大家分享我是如何让它工作的,虽然很难看。为了重申这一点,我只想在我制作带有依赖性的jar时将测试类添加到类路径中。我所做的: 从assembly pludin切换到shade plugin 并将所需的.class文件从目标/测试类移动到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>
目标/测试类/path/to/class/i/need/file.class
在/classpath/destination/of/class/i/need/file.class中
它美化了复制粘贴,没有找到通过目录来实现的方法,所以它一次只复制1.class
非常丑陋,没有活力,我还在寻找更好的方法。但是现在就可以了。你能解释一下为什么要这样做吗?这个testsources目录的全部目的是,这些文件不包括在构建中。是的,我可以,我为测试做了一个人,我希望能够从jar中运行它。但是,由于它的测试是在src/test/java中进行的,或者,您可以将测试GUI放入第二个模块中……我正在使用maven assembly插件,您能否提供一个示例,说明我将如何使用maven assembly插件添加src/test/java?请特别检查此