【问题标题】:Can't get maven-assembly-plugin to package tests无法让 maven-assembly-plugin 打包测试
【发布时间】:2020-06-13 00:31:52
【问题描述】:

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

    所以这确实是一个愚蠢的错误,但离开这里以防它帮助别人

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-07
      • 2014-09-05
      • 1970-01-01
      • 2013-01-30
      • 2012-03-25
      • 2014-09-27
      • 2013-03-19
      • 2017-09-23
      相关资源
      最近更新 更多