我想产生一个胖/独立的jar,其中包含我的测试类和测试范围的依赖关系。使用maven-jar-plugin,我可以创建一个包含测试类但不包含依赖项的jar。阅读互联网,看来解决方案是将maven-jar-plugin与maven-assembly-plugin结合使用。
我尝试遵循这些说明https://jitblog.net/build-maven-standalone-tests/,但没有成功。这是我的问题的副本:https://github.com/yanakad/commons-compress-test
mvn clean package
我的Maven版本是Apache Maven 3.6.0
看Maven的执行情况,看来是
`[INFO] --- maven-assembly-plugin:3.2.0:single (fat-testjar) @ compress-test ---`
is run before
`[INFO] --- maven-jar-plugin:3.2.0:test-jar (default) @ compress-test ---`
不确定是原因还是红色鲱鱼,或如何解决...非常感谢您的见解
所以它的确是一个愚蠢的错误,但留在这里以防其他人帮助您
maven-jar-plugin
和maven-assembly-plugin
在同一构建阶段中运行。 Maven显然按照文件的词法顺序执行插件。因此,事实上,程序集插件在jar插件之前运行是一个问题。解决方案是对pom.xml文件中的插件重新排序,以使maven-jar-plugin
出现在maven-assembly-plugin