【发布时间】:2011-12-05 07:54:23
【问题描述】:
我需要从 Maven 模块生成一个工件,它只包含来自 ./target/classes 的 *Foo.class 文件。它必须是一个适当的工件,以后可以用作另一个项目的正常依赖项。这意味着它必须包含自己的pom.xml。我试过maven-dependency-plugin 和maven-shade-plugin 无济于事:
maven-dependency-plugin不会生成pom.xml,而只会将文件复制到 JAR - 这对于 Maven 依赖项来说是不够的maven-shade-plugin不允许通过掩码选择文件,除此之外,它将所有依赖项解压到目标工件中(这不是我需要的)。
什么是可能的解决方法?
【问题讨论】:
-
你确定 maven-shade-plugin 不允许屏蔽吗?查看阴影包含和排除:maven.apache.org/plugins/maven-shade-plugin/examples/…
-
include/excludein shade plugin 用于过滤模块依赖的内容,而不是模块本身的内容。 -
这个神器的
pom.xml和module的一样吗? -
不,它必须不同。关键区别在于依赖项列表。我需要这个新的
pom.xml在compile范围内拥有来自模块的所有依赖项,无论它们以前有什么范围。
标签: java maven maven-2 maven-3