【问题标题】:Environmental Variables in .classpath xml.classpath xml 中的环境变量
【发布时间】:2015-11-02 00:46:31
【问题描述】:

我在 Eclipse(动态 Web 项目)的 .classpath 文件中有这一行。我通过从“构建路径”选项添加一个外部 jar 来得到这个。

<classpathentry kind="lib" path="D:/apache-tomcat-7.0.55/lib/some.jar" sourcepath="/Scrubber"/>

但是我已经在我的系统中设置了 CATALINA_HOME。 我想把path="D:/apache-tomcat-7.0.55/lib/some.jar"换成path="[CATALINA_HOME]/lib/some.jar"

它的正确语法是什么。我试过了

path="${CATALINA_HOME}/lib/some.jar"

path="${env:CATALINA_HOME}/lib/some.jar"

path="${env.CATALINA_HOME}/lib/some.jar"

path="${catalina.home}/lib/some.jar"

path="${catalina.base}/lib/some.jar"

它们都不适合我。

【问题讨论】:

    标签: java xml eclipse tomcat


    【解决方案1】:

    类路径条目不会解析环境变量,因此这不起作用。

    您可以获得的最接近方法是使用 Eclipse Preferences 'Java > Build Path > Classpath Variables' 在 Eclipse 中定义一个类似的 CATALINA_HOME 变量。

    一旦定义了 Ecipe 类路径变量,您就可以使用“库”部分中“Java 构建路径”属性页上的“添加变量...”按钮。

    这将为您提供一个类路径条目,如下所示:

    <classpathentry kind="var" path="CATALINA_HOME/lib/some.jar"/>
    

    注意,'kind' 是 'var' 而不是 'lib'。

    【讨论】:

    • 从 Eclipse Preferences 'Java > Build Path > Classpath Variables' 定义 CATALINA_HOME 变量时。我不得不提到变量的绝对路径。但这是我不想要的,因为在不同的系统中,服务器安装文件夹可能不同,并且它没有在那里配置 eclipse 的选项,我只需要部署 WAR。有什么方法可以创建这个 CATALINA_HOME 并与 %CATALINA_HOME% 链接,所以我不必直接硬编码绝对路径?
    【解决方案2】:

    您需要在 Eclipse 级别或项目级别设置全局变量。 在 Eclipse 文档中了解如何执行此操作。 基本上你需要去 Run -> Run Configurations... 并选择选项卡“Environment”。相关文章是here

    要使用您的变量:(基于系统环境变量)选择添加变量字符串,在 .classpath 中输入:${env_var:your-environment-variable-name}/path-to-jar。例如,如果您的系统环境变量是MYVAR,而 JAR 文件位于 subdir/myfile.jar 下,则应键入 ${env_var:MYVAR}/subdir/myfile.jar

    【讨论】:

    • 我已经创建了从系统链接到 CATALINA_HOME 的 SERVER_HOME。现在,当我写 然后我去构建路径并在一些旁边看到一个错误图标.jar 因为它读取为 \WEBPROJECT\SERVER_HOME}\lib\some.jar
    • 你必须小心 Eclipse 中的 CATALINA_HOME,因为 Eclipse 有一个内置的 Tomcat 服务器。首先将您的变量链接到绝对路径以查看它是否有效。
    • 是的,绝对路径可以正常工作。我只需要替换该绝对路径并将其更改为具有环境变量的路径。但它不起作用:(
    • 您可以尝试在项目级别重新定义 CATALINA_HOME,然后在定义 SERVER_HOME 时将其链接起来
    猜你喜欢
    • 2011-04-08
    • 1970-01-01
    • 2011-02-05
    • 1970-01-01
    • 2016-03-04
    • 2019-10-14
    相关资源
    最近更新 更多