简体   繁体   中英

How do I pass arguments to a Java instrumentation agent?

How do I pass arguments to a java.lang.instrument instrumentation agent? The documentation simply states:

-javaagent: jarpath[=options]

What options can I select?

To pass arguments to a Java agent, append them after the equals sign:

java -javaagent:/path/to/agent.jar=argumentstring -cp jar-under-test.jar Foo.Main

The arguments are treated as a single string and passed to your premain method. You are responsible for any further processing of the arguments, eg splitting on commas or separating key=value pairs.

public static void premain(String agentArgument,Instrumentation instrumentation){
  // args passed in 'agentArgument'
}

Note: if you don't pass any arguments to your agent (ie omitting the equals sign), the agentArgument argument will be null , rather than an empty string.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM