基本使用
新建MANIFEST.MF,并用插件追加内容
在resources新建META-INF,在META-INF新建MANIFEST.MF,文件内容设置为空
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<archive>
<!--自动追加META-INF/MANIFEST.MF -->
<manifest>
<addClasspath>true</addClasspath>
</manifest>
<manifestEntries>
<Premain-Class>com.edward.MyAgent</Premain-Class>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>
新建premain
public class MyAgent {
/**
* premain
* @param args 启动参数
* @param inst
*/
public static void premain(String args, Instrumentation inst){
System.out.println("在执行main方法之前执行");
}
}
打包
运行
image.pngimage.png
源码分析
在jvm启动时加载,优先加载premain(String args, Instrumentation inst)的方法
image.png
网友评论