Как мне запустить мою Java-программу с более чем одним Java-агентом? - PullRequest
71 голосов
/ 16 мая 2009

Я знаю, как запустить Java-программу с Java-агентом:

java -javaagent:myAgent.jar MyJavaProgram

Но что, если я хочу добавить 2 или более Java-агента в инструмент моей программы? Я не хочу повторно вызывать java -javaagent: ... для каждого агента, который мне нужно загрузить в JVM.

Я пробовал что-то вроде этого:

java -javaagent:agentA.jar, agentB.jar MyJavaProgram

или как-то так:

java -javaagent:agentA.jar agentB.jar MyJavaProgram

Но безуспешно.

Есть ли ответ, чтобы решить мою проблему?

Спасибо.

Ответы [ 4 ]

120 голосов
/ 16 мая 2009

как насчет двух параметров javaagent

java -javaagent:agentA.jar -javaagent:agentB.jar MyJavaProgram
52 голосов
/ 16 мая 2009

Похоже, вы можете сделать это, используя несколько аргументов. Из документации :

В реализациях с интерфейсом командной строки агент запускается путем добавления этой опции в командную строку:

-javaagent:jarpath[=options] 

jarpath - это путь к файлу JAR агента. опции это опции агента. Этот ключ может использоваться несколько раз в одной командной строке, создавая таким образом несколько агентов . Несколько агентов могут использовать один и тот же джарпат. Файл JAR агента должен соответствовать спецификации файла JAR.

(мой акцент)

2 голосов
/ 19 января 2016

В дополнение к ответам выше, если вы используете ant и хотите включить <jvmargs /> с более чем одним jar в -javaagent для запуска сервера, вот как я это сделал,

build.xml

<target name="blah">
...
    <jvmarg value="-javaagent:${jar1.path}" />
    <jvmarg value="-javaagent:${jar2.path}" />
...
</target>
0 голосов
/ 27 июля 2017

Существует новый проект с целью поддержки нескольких агентов Java. В настоящее время оно ограничено конкретными.

Агент Бонд - это супер агент, который упаковывает и отправляет несколько других агентов. Таким образом, вам нужно установить только один агент в вашей JVM с одним набором данных конфигурации (который содержит несколько отдельных частей).

Подробнее см. https://github.com/fabric8io/agent-bond/blob/master/README.md

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...