【问题标题】:How to create Maven artifact with containing a subset of module files?如何创建包含模块文件子集的 Maven 工件?
【发布时间】:2011-12-05 07:54:23
【问题描述】:

我需要从 Maven 模块生成一个工件,它只包含来自 ./target/classes*Foo.class 文件。它必须是一个适当的工件,以后可以用作另一个项目的正常依赖项。这意味着它必须包含自己的pom.xml。我试过maven-dependency-pluginmaven-shade-plugin 无济于事:

  • maven-dependency-plugin 不会生成 pom.xml,而只会将文件复制到 JAR - 这对于 Maven 依赖项来说是不够的

  • maven-shade-plugin 不允许通过掩码选择文件,除此之外,它将所有依赖项解压到目标工件中(这不是我需要的)。

什么是可能的解决方法?

【问题讨论】:

  • 你确定 maven-shade-plugin 不允许屏蔽吗?查看阴影包含和排除:maven.apache.org/plugins/maven-shade-plugin/examples/…
  • include/exclude in shade plugin 用于过滤模块依赖的内容,而不是模块本身的内容。
  • 这个神器的pom.xmlmodule的一样吗?
  • 不,它必须不同。关键区别在于依赖项列表。我需要这个新的pom.xmlcompile 范围内拥有来自模块的所有依赖项,无论它们以前有什么范围。

标签: java maven maven-2 maven-3


【解决方案1】:

您可以将maven-jar-plugin 与多个执行一起使用,includes/excludes 加上classifier 将您的类放入多个工件中。

看到这个答案:https://stackoverflow.com/a/8209544/34088

【讨论】:

  • @yegor256。您如何确保工件具有自定义 pom.xml
猜你喜欢
  • 2014-02-27
  • 1970-01-01
  • 1970-01-01
  • 2018-04-26
  • 2015-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-09
相关资源
最近更新 更多