質問
agentlibを指定するときに等号を含むジャーパスを使用することはできますか?たとえば、ある種のエスケープを使用しますか?-javaagentを指定するとき、=(等号)を含むジャーパスを持つことは可能ですか?
注:Javaエージェントを指定する構文は-javaagent:jarpath[=options]
です(the official documentation参照)。
コンテキスト
私はパスが=(等号)記号が含まれている継続的インテグレーションを設定しています。 エージェントのjarが見つからないため、起動時に失敗するmaven surefireプラグインを実行する際に問題が発生します。 少し掘り下げて見つけたのは そして私たちのコマンドラインは/<path-to-jre>/bin/java -javaagent:/<path-to-jenkins-workspace>/myProject=myJobName/.repository/org/jacoco/org.jacoco.agent/0.7.9/org.jacoco.agent-0.7.9-runtime.jar=destfile=/<path-to-jenkins-workspace>/myProject=myJobName/target/jacoco.exec,append=true <other arguments to java dropped>
のようです。 プロジェクトの名前をmyProject+myJobName
に変更してこのコマンドを作ったので、問題は等価の使用にあると確信しています。
上記のコマンドラインはmaven-surefire-pluginによって直接生成されるため、変更するオプションは多数ありません。
からの1はここでは、コードの解析のOpenJDKのjavaagent引数へのリンクですします。https: //github.com/dmlloyd/openjdk/blob/28cf61ba0955833f75cf7ba2b80cf83c557300d5/src/java.instrument/share/native/libinstrument/InvocationAdapter.c#L66(エスケープをサポートするようには見えません)。 – Sylvain