maven~为MANIFEST.MF文件添加内容

MANIFEST.MF

打开Java的JAR文件我们经常可以看到文件中包含着一个META-INF目录, 这个目录下会有一些文件,其中必有一个MANIFEST.MF,这个文件描述了该Jar文件的很多信息,下面将详细介绍MANIFEST.MF文件的内容。
公共内容

Manifest-Version 用来定义manifest文件的版本,例如:Manifest-Version: 1.0
Created-By 声明该文件的生成者,一般该属性是由jar命令行工具生成的,例如:Created-By: Apache Ant 1.5.1
Signature-Version 定义jar文件的签名版本
Class-Path 应用程序或者类装载器使用该值来构建内部的类搜索路径
Main-Class 定义jar文件的入口类,该类必须是一个可执行的类,一旦定义了该属性即可通过 java -jar x.jar来运行该jar文件。

javaagent参数属性

Premain-Class: com.lind.hot.deploy.DemoJavaAgent 它相当于,当把这个jar当做-javaagent参数注册当前类加载器时的入口,即如果你希望做一个javaagent包,需要添加这个属性

DemoJavaAgent内容

注意:javaagent的执行是在当前项目的 main方法之前进行调用的,所以它总是用在项目热部署、项目加密等场景中。
public class DemoJavaAgent {
   /**
    * 该方法在main方法之前运行,与main方法运行在同一个JVM中
    * 并被同一个System ClassLoader装载
    * 被统一的安全策略(security policy)和上下文(context)管理
    *
    * @param agentOps
    * @param inst
    * @author SHANHY
    * @create 2016年3月30日
    */
   public static void premain(String agentOps, Instrumentation inst) {

       System.out.println("====premain 方法执行");
       System.out.println(agentOps);
   }

   /**
    * 如果不存在 premain(String agentOps, Instrumentation inst)
    * 则会执行 premain(String agentOps)
    *
    * @param agentOps
    * @author SHANHY
    * @create 2016年3月30日
    */
   public static void premain(String agentOps) {

       System.out.println("====premain方法执行2====");
       System.out.println(agentOps);
   }

在此我向大家推荐一个架构学习交流圈。交流学习微信:539413949(里面有大量的面试题及答案)里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值