Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 类路径xml中的环境变量_Java_Xml_Eclipse_Tomcat - Fatal编程技术网

Java 类路径xml中的环境变量

Java 类路径xml中的环境变量,java,xml,eclipse,tomcat,Java,Xml,Eclipse,Tomcat,我在Eclipse(动态Web项目)的.classpath文件中看到了这一行。我通过从“buildpath”选项添加一个外部jar来实现这一点 它们都不适合我。您需要在Eclipse级别或项目级别设置全局变量。 了解如何在Eclipse文档中执行此操作。 基本上,您需要转到运行->运行配置。。。然后选择“环境”选项卡。相关文章如下所示 要使用变量:(基于系统环境变量),请在.classpath type:${env\u var:your environment variable name}/pa

我在Eclipse(动态Web项目)的.classpath文件中看到了这一行。我通过从“buildpath”选项添加一个外部jar来实现这一点


它们都不适合我。

您需要在Eclipse级别或项目级别设置全局变量。 了解如何在Eclipse文档中执行此操作。 基本上,您需要转到运行->运行配置。。。然后选择“环境”选项卡。相关文章如下所示

要使用变量:(基于系统环境变量),请在.classpath type:
${env\u var:your environment variable name}/path To jar
中选择Add variable string。例如,如果您的系统环境变量是
MYVAR
,而JAR文件位于subdir/myfile.JAR下,则应键入
${env_var:MYVAR}/subdir/myfile.JAR


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

最接近的方法是使用Eclipse首选项“Java>Build Path>Classpath Variables”在Eclipse中定义一个类似的CATALINA_HOME变量

一旦定义了Eclipe Classpath变量,就可以使用“库”部分“Java构建路径”属性页上的“添加变量…”按钮

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

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


请注意,“kind”是“var”而不是“lib”。

我已经创建了SERVER\u HOME,它从系统链接到CATALINA\u HOME。现在,当我写文章时,然后我转到buildpath,看到some.jar旁边有一个错误图标,因为它读作\WEBPROJECT\SERVER\u HOME}\lib\some.jar您必须小心Eclipse中的CATALINA\u HOME,因为Eclipse有一个内置的Tomcat服务器。首先将你的变量链接到一个绝对路径,看看它是否工作。是的,绝对路径可以正常工作。我只需要替换那个绝对路径,并将它更改为一个带有环境变量的路径。但它不起作用:(您可以尝试在项目级别重新定义CATALINA_HOME,然后在定义SERVER_HOME的同时将其链接起来,同时从Eclipse首选项“Java>Build Path>Classpath Variables”中定义CATALINA_HOME变量。我必须提及变量的绝对路径。但这是我不想要的,因为在不同的系统中,服务器安装是不同的文件夹可能不同,它没有配置eclipse的选项,我只需要部署WAR。有没有办法创建这个CATALINA_主页并链接到%CATALINA_HOME%,这样我就不必直接硬编码绝对路径?
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"
<classpathentry kind="var" path="CATALINA_HOME/lib/some.jar"/>