我正在尝试使用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。
答案 0 :(得分:1)
答案 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命令验证路径是否已设置: