用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