90

Java エージェントを使用して Java プログラムを開始する方法を認識しています。

java -javaagent:myAgent.jar MyJavaProgram

しかし、2 つ以上の Java エージェントを追加してプログラムを計測したい場合はどうすればよいでしょうか? JVM にロードする必要があるすべてのエージェントに対して、java -javaagent:... を再度呼び出したくありません。

私はこのようなことを試しました:

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

またはこのようなもの:

java -javaagent:agentA.jar agentB.jar MyJavaProgram

しかし、成功していません。

私の問題を解決する答えはありますか?

ありがとうございました。

4

4 に答える 4

154

2つのjavaagentパラメーターはどうですか?

java -javaagent:agentA.jar -javaagent:agentB.jar MyJavaProgram
于 2009-05-16T15:50:38.833 に答える
58

複数の引数を使用してこれを行うことができるようです。ドキュメントから:

コマンドライン インターフェイスを使用する実装では、コマンドラインに次のオプションを追加することでエージェントが開始されます。

-javaagent:jarpath[=options] 

jarpathは、エージェント JAR ファイルへのパスです。optionsはエージェントのオプションです。このスイッチは、同じコマンドラインで複数回使用できるため、複数のエージェントが作成されます。複数のエージェントが同じ jarpath を使用する場合があります。エージェント JAR ファイルは、JAR ファイルの仕様に準拠している必要があります。

(私の強調)

于 2009-05-16T15:50:32.997 に答える
2

上記の回答に加えて、ant を使用していて、サーバーを起動するために<jvmargs />複数の jar を含めたい場合は、次のようにしました。-javaagent

build.xml

<target name="blah">
...
    <jvmarg value="-javaagent:${jar1.path}" />
    <jvmarg value="-javaagent:${jar2.path}" />
...
</target>
于 2016-01-19T11:17:26.500 に答える