mavn 为MANIFEST.MF增加属性方式

14 篇文章 0 订阅
最近在做项目的自动化部署的过程中,需要在每个jar中的MANIFEST.MF文件中增加一些属性,由于项目是用MAVEN管理,打jar包也是用MAVEN的maven-jar-plugin插件完成,查看了maven-jar-plugin插件的官网介绍,默认生成的MANIFES.MF文件中只包括以下几项
Manifest-Version: 1.0 Archiver-Version: Plexus Archiver Created-By: Apache Maven Built-By: ${user.name} Build-Jdk: ${java.version}
但是如果我需要在MANIFES.MF中新增一个属性该怎么增加呢?
比如说要增加一个test:testattr  其中testaatr值可以动态传入
在官网上没有找到相关的资料,通过查看源码才知道到,其实很简单。
真正生成文件其实是在maven-archiver jar中,查看org.apache.maven.archiver.MavenArchiver就知道,系统怎么得到,${user.name}的值,源码如下:
 private void addCustomEntries(Manifest m, Map entries, ManifestConfiguration config)
    throws ManifestException
  {
    addManifestAttribute(m, entries, "Built-By", System.getProperty("user.name"));
    addManifestAttribute(m, entries, "Build-Jdk", System.getProperty("java.version"));

    if (config.getPackageName() != null)
    {
      addManifestAttribute(m, entries, "Package", config.getPackageName());
    }
  }
仔细查看该类的源码,就知道怎么往MANIFES.MF文件中增加自己特有的属性了,如增加上边的test属性,只要对插件进行如下配置
<plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>2.3.1</version>
          <configuration>
            <archive>
              <manifestEntries>
         <test:>${testAttr}</YP3G-Version>
              </manifestEntries>
            </archive>
          </configuration>
      </plugin>

同时,在用maven打jar包的时候,用mavn -DtestAttr=“test”(用-D选项)
这样在打出的jar包的  MANIFES.MF中就会增加test:test  这行属性。  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值