如何为JVM设置PATH环境变量

时间:2014-01-13 15:04:36

标签: java maven path jvm java-7

我正在尝试使用Java 7 ProcessBuilder运行安装在我的系统上的可执行文件。我注意到环境变量PATH,可以通过

获得
 System.getenv("PATH");

不包含我自己的自定义设置路径。它返回:

 /usr/bin:/bin:/usr/sbin:/sbin

我的路径如下:

 /Users/saschaf/.bin:/Users/saschaf/Entwicklung/spring-roo-1.2.4.RELEASE/bin:/usr/local/opt/ruby/bin:/usr/local/bin:/Users/saschaf/Entwicklung/android-sdk-macosx/tools:/Users/saschaf/Entwicklung/android-sdk-macosx/platform-tools:/usr/local/share/npm/bin:/Users/saschaf/node_modules/.bin:/Users/saschaf/Entwicklung/git/tools:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

我不知道如何设置PATH变量,以便JVM使用正确的变量。问题是什么?

我正在运行最新的OS X Mavericks,JDK 1.7.0_25-b15,Maven Apache Maven 3.1.1。

2 个答案:

答案 0 :(得分:1)

您可以将shell $PATH作为命令行参数传递:

$ java -DPATH=$PATH -cp …

您可以使用此example来检查您的环境。

答案 1 :(得分:1)

直接来自documentation

您可以在不设置PATH变量的情况下运行JDK,也可以选择将其设置为方便。但是,如果希望能够从任何目录运行可执行文件(javac,java,javadoc等)而不必键入命令的完整路径,则应设置路径变量。如果未设置PATH变量,则需要在每次运行时指定可执行文件的完整路径,例如:

% /usr/local/jdk1.7.0/bin/javac MyClass.java

要确定路径是否正确设置,请执行:

% java -version

这将打印java工具的版本,如果它可以找到它。如果版本较旧或者您收到错误java:Command not found,则路径未正确设置。

要永久设置路径,请在启动文件中设置路径。

对于C shell(csh),编辑启动文件(〜/ .cshrc):

set path=(/usr/local/jdk1.7.0/bin )

对于bash,编辑启动文件(〜/ .bashrc):

PATH=/usr/local/jdk1.7.0/bin:
export PATH

对于ksh,启动文件由环境变量ENV命名。设置路径:

PATH=/usr/local/jdk1.7.0/bin:
export PATH

对于sh,编辑配置文件(〜/ .profile):

PATH=/usr/local/jdk1.7.0/bin:
export PATH

然后加载启动文件并通过重复java命令验证路径是否已设置: