用maven隐藏清单条目
使用maven构建jar文件时,它将在META-INF / MANIFEST.MF中创建一个清单文件。 其内容目前是:
Manifest-Version: 1.0 Archiver-Version: Plexus Archiver Built-By: Created-By: Apache Maven 3.1.0 Build-Jdk: 1.8.0_5
如何隐藏清单条目? 特别是我想隐藏“Built-By:”条目,因为我没有看到为什么jar应该包含我的用户名的任何理由。
maven-achiver插件文档似乎很清楚,你不能删除属性,只能将它们设置为空白,如Alex Chernyshev的回答所述 。 为了更好地控制MANIFEST.MF,您不应该使用maven-archiver插件。
另一种方法是使用maven antrun插件和Ant Jar Task来构建Jar。
在pom.xml中:
... maven-antrun-plugin 1.7 package run ...
另一种方法是使用Maven exec插件直接调用Jar工具。
我不喜欢推荐antrun,因为我认为这是一个肮脏的黑客,但似乎maven-archiver不符合你的要求。 为maven-archiver提出function请求可能是值得的。
编辑:2014-10-06提出Jira MSHARED-362
编辑:2018-06-18:更新了Jira和Maven Exec插件的链接
加
false
到你的pom.xml中的maven-jar-plugin的configration部分来完全删除默认属性:
org.apache.maven.plugins maven-jar-plugin false
自定义它(只删除用户名):
org.apache.maven.plugins maven-jar-plugin