【问题标题】:Eclipse: Use environment variable for external jar locationEclipse:将环境变量用于外部 jar 位置
【发布时间】:2013-11-08 17:00:41
【问题描述】:

在谷歌搜索数小时不成功后,我问你:

情况:

我的 Eclipse 项目使用“nedded.jar”,所以我将它添加到构建路径中。没问题。

  • C:/dev/development/my_needed/nedded.jar

但“nedded.jar”的位置与环境变量 DEVELOPMENT ( =C:/dev/development/ ) 相关,因此可能会发生变化。所以,我需要我的引用库路径是:

  • %DEVELOPMENT%/my_needed/nedded.jar

我找不到实现这一点的语法。想法?

编辑:

也许我没有说清楚:这个项目是由 MSVisual Studio(C++) 和 Eclipse(Java) 开发的。两者都是从控制台启动的。之前执行的脚本设置了 3 个主要变量:DEVELOPMENT、RUNTIME、SOURCES 到某些变化的路径。

如果我从这个 shell 启动 Eclipse,我的外部库的路径将由 %DEVELOPMENT%\my_needed\nedded.jar 定义。

我找到了一个中途解决方案(某处):添加了一个新文件夹 --> 高级 --> 链接到备用位置(链接文件夹)。

这会在你的 .project 中添加一个条目,当我签出我的项目时,我也会得到它:

<linkedResources>
   <link>
   <name>lib/RXTXcomm.jar</name>
   <type>1</type>
     <locationURI>PARENT-4-PROJECT_LOC/Development/rxtx/RXTXcomm.jar</locationURI>
   </link>
</linkedResources>

到目前为止还不错,但它仍然不依赖于 %DEVELOPMENT%。我需要的是: %DEVELOPMENT%/rxtx/RXTXcomm.jar

希望现在更清楚了。

【问题讨论】:

  • 是的,没有帮助,因为我不想引用 Eclipse 内部环境变量。 "${env_var}" 只能用于运行/调试配置。在 ant 脚本中,我可以参考“。我想将项目签出到文件系统中的任何位置,设置环境变量,启动 Eclipse,导入项目,瞧:所有外部库都是自动找到!
  • 帮助方法:Post_1, Post_2

标签: java eclipse jar environment-variables buildpath


【解决方案1】:

您应该声明一个变量(Java 构建路径 -> 添加变量... -> 配置变量... -> 新建)来设置每个系统上的更改路径(例如 FOO_BAR_HOME)。

然后您可以将变量添加到库部分并对其进行编辑以指向您的库,例如:

%FOO_BAR_HOME%/lib/foobar.jar

查看现有变量的使用情况。

或者,您可以将库放在项目中(例如子文件夹“lib”)。如果您从该位置添加库('Add Jars...' NOT 'Add External Jars...'),它将通过相对路径添加。

【讨论】:

  • +1 帮助我。这是要添加的内容(至少对于 Eclipse 3.6.2)... 添加 FOO_BAR_HOME 变量后,您可以编辑项目的 Java 构建路径。从库选项卡中,单击“添加变量”,选择您的 FOO_BAR_HOME 变量,然后单击“扩展”按钮。然后,导航到您的 jar 文件并选择它。您的 .classpath 文件将以相对于您的 FOO_BAR_HOME 变量的路径结束。
【解决方案2】:

我也在用 ant 寻找这个问题的答案。似乎你可以像这样引用windows环境变量

<property environment="env"/>

将所有环境变量提供为以“env.”为前缀的 Ant 属性。例如,在 Ant 中 CLASSPATH 可以作为 ${env.CLASSPATH} 访问。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-23
    • 2013-01-29
    • 1970-01-01
    • 1970-01-01
    • 2017-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多