无法使maven-assembly-plugin进入软件包测试

问题描述 投票:0回答:1

我想产生一个胖/独立的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

  1. 运行mvn clean package
  2. 预期:target / fatJar.jar将同时包含SnakeYaml和TestClass
  3. 观察到:SnakeYaml确实存在,但TestClass不存在

我的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-3 maven-assembly-plugin maven-jar-plugin
1个回答
0
投票

所以它的确是一个愚蠢的错误,但留在这里以防其他人帮助您

maven-jar-pluginmaven-assembly-plugin在同一构建阶段中运行。 Maven显然按照文件的词法顺序执行插件。因此,事实上,程序集插件在jar插件之前运行是一个问题。解决方案是对pom.xml文件中的插件重新排序,以使maven-jar-plugin出现在maven-assembly-plugin

之前
© www.soinside.com 2019 - 2024. All rights reserved.