如何使用多个Java代理启动Java程序?

Flu*_*dan 75 jvm javaagents

我知道如何使用java代理启动java程序:

java -javaagent:myAgent.jar MyJavaProgram
Run Code Online (Sandbox Code Playgroud)

但是,如果我想添加2个或更多java代理程序来检测我的程序呢?我不想重新调用java -javaagent:...我必须在JVM中加载每个代理.

我尝试过这样的事情:

java -javaagent:agentA.jar, agentB.jar MyJavaProgram
Run Code Online (Sandbox Code Playgroud)

或类似的东西:

java -javaagent:agentA.jar agentB.jar MyJavaProgram
Run Code Online (Sandbox Code Playgroud)

但没有成功.

有没有解决我的问题的答案?

谢谢.

Tah*_*tar 128

两个javaagent参数怎么样?

java -javaagent:agentA.jar -javaagent:agentB.jar MyJavaProgram
Run Code Online (Sandbox Code Playgroud)


Bri*_*new 54

看来你可以通过使用多个参数来做到这一点.从文档:

在使用命令行界面的实现时,通过将此选项添加到命令行来启动代理程序:

-javaagent:jarpath[=options] 
Run Code Online (Sandbox Code Playgroud)

jarpath是代理JAR文件的路径.options是代理选项.此交换机可以在同一命令行上多次使用,从而创建多个代理.多个代理可能使用相同的jarpath.代理JAR文件必须符合JAR文件规范.

(我的重点)