Java 探针 优雅启动

Java 若引用探针必须在启动时增加参数 java -agent:*.jar , 有没有一种方式可以直接把agent的jar包直接打包导到项目的jar里,这样在启动的时候就不用加-agent 参数了

javaagent依赖jdk底层的instrument接口,它提供premain和agentmain方法,你现在用的是premain,它是通过启动之前指定。你可以了解下阿里开源的arthas工具,它主要用的是后者agentmain的实现,项目启动时,自动attach自身进程id,它提供maven jar可以直接集成到项目中去,你可以看下它的源码实现,仿照一下!
其实arthas通过bytebuddy 类库简化了agentmain的操作,推荐你也这么做!