Java热更新神器-magic
magic是一个简单的 java agent,使用探针技术实现 class 的动态替换。可以用外部 class 文件将运行中 java 进程的 class 进行替换。
项目链接:https://github.com/pengten/myagent
如何使用
maven打包后,执行 java -jar magic-1.0.0.jar
run java -jar magic-1.0.0.jar
按照提示依次输入“进程ID”、“全限定类名”、“替换用的class文件地址”、“日志文件全路径”。示例如下:
entry a PID from upper:1234
className:java.lang.String
classPath:/classdir/String.class
logfile:/logdir/example.log
也可以通过启动参数的形势传递,如:
java -jar magic-1.0.0.jar 1234 java.lang.String /classdir/String.class /logdir/example.log
如果正常执行结束将会看到如下信息:
attaching...
loadAgent...
agent loaded!
detaching...
detached!
详细的执行日志可以通过日志文件查看,执行过程中的异常信息也会记录在日志文件中。