文章目录
关于premain方法
是Java Agent技术的一种,通过 -javaagent:
的方式,添加外部代理,代理入口方法为 premain
。另一种Java Agent技术则是动态attach到java进程的方式,这种方式则是使用 agentmain
方法
问题记录
该问题发生于集成开发环境 IDEA
下通过 gradle
启动工程,如果该工程配置了 -javaagent
,那么该 agent 里的 premain
方法会被执行两次,这个问题广泛出现在 IDEA 的多个版本中,目前尚未清楚,是 IDEA 还是 gradle 的问题
解决方式
不使用 gradle
代理,使用 idea
代理