在运行配置VM参数中访问eclipse类路径变量M2_REPO的值

htt*_*nts 6 eclipse classpath openjpa maven-3

在eclipse的运行配置中,为您提供了一组默认变量,您可以在VM参数中使用它们,例如container_pathenv_var.
我想要访问的是一个类路径变量M2_REPO,但是看不到这样做的方法.我需要在VM参数中指定一个javaagent,它需要一个jar文件的路径.这个jar文件存在于maven存储库中,但我找不到使用已配置的M2_REPOClasspath变量(在windows- > preferences- > java- > Build Path- >中配置)指定maven存储库的路径的方法Classpath variable.
我想要做的是使用它作为我的VM参数,但不能因为classpath_var它不是一个真正的变量.

-javaagent:${classpath_var:M2_REPO}/org/apache/openjpa/openjpa/2.1.0/openjpa-2.1.0.jar
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以访问M2_REPOVM参数的值?

小智 4

这并不完全是您所要求的,但它对我们来说是一种共享代码库的方式,并且在我们的运行配置中没有硬编码路径。不要使用类路径变量,而是使用字符串替换变量(在 中配置windows -> preferences -> run/debug -> String Substitution)。将其设置为与M2_REPO的值相同的路径并保存。使用上面的示例,如果您的字符串替换变量名称也是 M2_REPO,则 VM 参数将为

-javaagent:${M2_REPO}/org/apache/openjpa/openjpa/2.1.0/openjpa-2.1.0.jar
Run Code Online (Sandbox Code Playgroud)

更清楚地说,我个人会创建一个 openjpa_2_1_0_agent 字符串替换变量,该变量直接进入您打开的 jpa jar。