在另一个环境变量的定义中使用环境变量

时间:2015-01-21 17:46:39

标签: java windows-7

我试图从命令行运行Java编译器javac.exe而不限定exe的路径。为此,我知道这个exe的路径必须包含在我的%path%系统环境变量中。我的macghine上exe的位置是:C:\ Program Files(x86)\ SQLLIB \ java \ jdk \ bin;但是,因为我知道这个env变量的长度已经达到最大长度2048,所以我决定使用另一个系统环境变量%JAVA_HOME%,它已经设置为C:\ Program Files(x86)\ SQLLIB \ java \ jdk,所以我添加了%JAVA_HOME%\ bin;直到我的开始。

但是,当我尝试从命令行运行java编译器javac时,我发现命令行解释器无法使用我更新的路径找到exe。虽然我见过的所有内容都告诉我,重启不是必须关闭并重新打开cmd窗口,但我重新启动无济于事。当我将PATH变量更改为不使用嵌入式%JAVA_HOME%变量时,使用C:\ Program Files(x86)\ SQLLIB \ java \ jdk \ bin重新打开%JAVA_HOME%\ bin,(即明确拼写出完整路径到编译器)并再次尝试通过引用编译器文件的名称来运行编译器,javac,它工作。

总的来说,我希望这会奏效。事实上,我甚至想通过在新的env变量“PATH1”中定义来构建我的Path,然后重新定义PATH = C:\ Program Files(x86)\ SQLLIB \ java \ jdk;%PATH1%,如此处所述:

http://www.charlesrcook.com/archive/2012/08/27/path-environment-variable-too-long-and-truncated.aspx

......但我并不是那么大胆,并且认为我所尝试的内容更为温和,但却采用了相同的概念来嵌套变量的定义。

我的问题是,为什么这不起作用?它是否与路径中有嵌入空间的事实有关?如果是这样,我不知道将部署哪些引号来纠正它。嵌套变量是否安全?我可以想象它们的评估顺序会变得复杂......

我是java的新品牌,但在尝试配置使用java的各种开发应用程序两天之后,我真的关闭了中心环境变量似乎在配置中。在我得到更好的理解之前,我会试着保留判断力......

JAVA_HOME=C:\Program Files (x86)\SQLLIB\java\jdk

使用:

PATH=C:\Program Files (x86)\SQLLIB\java\jdk\bin; c:\Whatever

不起作用,但为什么不呢?

PATH=%JAVA_HOME%\bin;c:\Whatever

0 个答案:

没有答案