-javaagent 的基本使用,打印idea的类

字节码插桩,javaagent 保证使用的jdk是1.5以上的才能进行使用(包含1.5)

idea 激活的时候使用的就是 -javaagent 技术

/**
 *
 * Create by yang_zzu on 2020/6/14 on 18:02
 */
public class AgentMain {
   //javaagent 入口方法

    public static void premain(String arg, Instrumentation instrumentation) {
        System.out.println("hello agent!!!!!");

        //打印所有的 IDEA 中类的方法
        instrumentation.addTransformer(new ClassFileTransformer() {
            @Override
            public byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws IllegalClassFormatException {
                System.out.println(className);

                return null;
            }
        });


    }
}

将这个 java 类打成 jar 包,只打包这个java 类就可以了,其他的java 文件可以不用进行打包操作。

jar 包的路径地址:

E:\idea-work\mybatisYang\target\mybatisYang-1.0-SNAPSHOT.jar

和在对 idea 激活的时候,的使用操作是一样的。

找到 idea 的 bin 文件夹,打开命令行窗口,执行 idea.bat 文件

使用完之后,要将 之前添加的 -javaagent:E:\idea-work\mybatisYang\target\mybatisYang-1.0-SNAPSHOT.jar

删除,以免在使用的使用造成什么一样问题。

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章