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); }
到此這篇關於maven為MANIFEST.MF文件添加內容的方法的文章就介紹到這瞭,更多相關maven MANIFEST.MF文件內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Java Agents代理是什麼
- 深度分析java dump文件
- Java Agent 動態修改字節碼詳情
- 通過使用Byte Buddy便捷創建Java Agent
- 一文瞭解為什麼Java中隻有值傳遞