• 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);
        }
    转载:https://www.cnblogs.com/lori/p/14182514.html?utm_source=tuicool
  • 相关阅读:
    简述-计算机语言的前世今生
    记一次由于引用第三方服务导致的GC overhead limit exceeded异常
    JAVA初始化及类的加载
    springboot容器启动顺序之@Configuration ContextRefreshedEvent事件初始化 ApplicationRunner
    高并发编程之发布与溢出
    编写高质量JAVA代码之让接口的职责保持单一
    Spring Boot中初始化资源的几种方式
    Thread.yeild方法详解
    JAVA基础之this关键之理解
    Django 1.10 中文文档------3.3.8 会话sessions
  • 原文地址:https://www.cnblogs.com/duanxz/p/15535256.html
Copyright © 2020-2023  润新知