# 项目【myJavaAgent】
【MyJavaAgentPremain.java】
package com.chz.myJavaAgent;
public class MyJavaAgentPremain
{
public static void premain(String agentArgs, Instrumentation inst)
{
System.out.println("agentArgs : " + agentArgs);
inst.addTransformer(new CustomClassTransformer(), true);
}
static class CustomClassTransformer implements ClassFileTransformer
{
@Override
public byte[] transform(ClassLoader loader,
String className,
Class<?> classBeingRedefined,
ProtectionDomain protectionDomain, byte[] classfileBuffer
) throws IllegalClassFormatException
{
System.out.println("transform: " + className);
return classfileBuffer;
}
}
}
在【pom.xml】里面添加
<build>
<plugins>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.4.1</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
<manifestEntries>
<Premain-Class>com.chz.myJavaAgent.MyJavaAgentPremain</Premain-Class>
<Can-Redefine-Classes>true</Can-Redefine-Classes>
<Can-Retransform-Classes>true</Can-Retransform-Classes>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>
打包,运行:
mvn install
# 项目【myTest】
【MyTestMain.java】
public class MyTestMain {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
在启动命令行里面添加【-javaagent:C:/git/chzopen/spring_cloud_study-master/myJavaAgent/target/myJavaAgent-1.0-SNAPSHOT.jar】
然后运行【MyTestMain.java】