【发布时间】:2013-07-25 07:36:46
【问题描述】:
任何帮助或指点将不胜感激。 我需要在构建时将两个字段注入到我的项目的所有依赖项 JAR 的清单文件中。
依赖 jars 已经构建并从 repo 中提取。 我需要找到一种方法来获取 JAR 的 Manifest 文件,然后使用当前 pom 文件中的变量对其进行修改。 有没有人这样做过,知道如何做到这一点。 提前感谢您的时间和回复
【问题讨论】:
-
您为什么要这样做,因为这些工件已经构建,换句话说就是不可变的。您可以通过 maven-dependency-plugin 和 maven-assembly-plugin 的组合来更改这些工件,但它会产生一个非常大的 pom 文件。另一方面,您正在更改已经构建的工件,这将违背 Maven 的想法。
-
@Wimpie 你找到解决方案了吗?
-
maven-assembly-plugin允许您指定清单配置,但是目前有一个bug 可以防止将现有清单与其他清单条目合并。我发现这个是因为我尝试做同样的事情但失败了。 -
可以使用 shade 插件从您的依赖项创建一个 uber-jar:maven.apache.org/plugins/maven-shade-plugin 并按照您需要的方式修改 Manifest
-
您能否详细说明您想要完成的工作?为什么需要修改清单?您要替换哪些变量?
标签: maven jar dependency-injection