【发布时间】:2017-11-21 17:45:20
【问题描述】:
问题
在指定 agentlib 时是否可以使用包含等号的 jarpath?例如,使用某种转义?
注意:指定java代理的语法是-javaagent:jarpath[=options](见the official documentation)。
上下文
我有一个持续集成设置,其中路径包含 =(等号)符号。
而且我在运行 maven surefire 插件时遇到问题,该插件在启动时失败,因为找不到代理 jar。
我挖了一下,发现
我们的命令行看起来像/<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 使这个命令起作用,因此我确信问题出在使用 equal 上。
请注意,上面的命令行是由 maven-surefire-plugin 直接生成的,因此我没有太多选项可以更改它。
【问题讨论】:
-
这里是OpenJDK javaagent参数解析代码的链接:github.com/dmlloyd/openjdk/blob/…(貌似不支持转义)。
标签: java command-line maven-surefire-plugin javaagents