【问题标题】:Accessing the value of eclipse classpath variable M2_REPO in run configuration VM arguments在运行配置 VM 参数中访问 eclipse 类路径变量 M2_REPO 的值
【发布时间】:2012-01-06 02:25:24
【问题描述】:

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

-javaagent:${classpath_var:M2_REPO}/org/apache/openjpa/openjpa/2.1.0/openjpa-2.1.0.jar

还有其他方法可以访问 VM 参数中 M2_REPO 的值吗?

【问题讨论】:

  • 以防其他人像我一样误读问题:可以使用${env_var:VAR_NAME}。由于我的仓库在%M2_HOME% 下,这对我有用:-javaagent:${env_var:M2_HOME}/repository/org/apache/openjpa/openjpa/2.1.0/openjpa-2.1.0.jar

标签: eclipse classpath maven-3 openjpa


【解决方案1】:

这并不完全符合您的要求,但它为我们提供了一种共享代码库的方式,并且在我们的运行配置中没有硬编码路径。不要使用类路径变量,而是使用字符串替换变量(在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

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

【讨论】:

    猜你喜欢
    • 2013-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-02
    相关资源
    最近更新 更多