3

Windows コンソールから Maven 単体テストを実行しています。

mvn -Dcom.sun.management.jmxremote ^
-Dcom.sun.management.jmxremote.authenticate=false ^
-Dcom.sun.management.jmxremote.ssl=false ^
-Dcom.sun.management.jmxremote.port=1100 ^
-Dtest=TimetableEngineTest test

ただし、開いているポート 1100 が表示されnetstat -aず、VisualVM が接続できません: [ 127.0.0.1:1100JMX 接続の追加] を選択した場合 (外部 IP でも試しました)。

私は何か間違ったことをしていますか?

4

2 に答える 2

2

この方法で mvn を実行すると、これらのパラメーターが mvn バッチ ファイルに渡されます。そのバッチ ファイルは Java を起動しますが、そうすると、受け取ったのと同じ引数が渡されません。

JVM が JMX をロードするには、これらの「-D」システム プロパティ パラメータを Java コマンドラインに渡す必要がありますが、この場合、JVM はこれらのパラメータなしで起動され、maven Java クラスは「 -D' パラメータを取得し、それらをシステム プロパティとして追加します。(非 JVM スタートアップ) システム プロパティには問題ありませんが、JMX のロードには効果的ではありません。

代わりに、MAVEN_OPTS 環境変数を次のように設定してみてください。

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=1100"

実行する前にmvn

(注 - linux/unix で実行している場合は、忘れずに MAVEN_OPTS もエクスポートしてください。)

于 2015-07-30T21:36:30.767 に答える
0

「 JVM モニター」プラグインを Eclipseにインストールすることで問題を解決しました。しかし、私はこれが適切な解決策であるとは考えていません。

于 2013-10-13T16:27:12.383 に答える