2020-12-24

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

MANIFEST.MF

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

公共内容

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

javaagent参数属性

  1. 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); }








原文转载:http://www.shaoqun.com/a/502839.html

跨境电商:https://www.ikjzd.com/

欧苏丹:https://www.ikjzd.com/w/1756

全球速卖通:https://www.ikjzd.com/w/81


MANIFEST.MF打开Java的JAR文件我们经常可以看到文件中包含着一个META-INF目录,这个目录下会有一些文件,其中必有一个MANIFEST.MF,这个文件描述了该Jar文件的很多信息,下面将详细介绍MANIFEST.MF文件的内容。公共内容Manifest-Version用来定义manifest文件的版本,例如:Manifest-Version:1.0Created-By声明该文件的
mymall:mymall
亚马逊礼品卡:亚马逊礼品卡
北京特产在哪买?:北京特产在哪买?
湖南有哪些特色小吃呀 ?_湖南旅游攻略:湖南有哪些特色小吃呀 ?_湖南旅游攻略
2020第十届深圳(嘉年华)年货博览会是什么时候?:2020第十届深圳(嘉年华)年货博览会是什么时候?

No comments:

Post a Comment