我正在使用jdk 1.7,安装后我没有设置JAVA_HOME或CLASSPATH环境变量,我用它来编译servlet类,一切正常。
所以我想知道,为什么我不应该设置这些环境变量? JDK可以自动解决CLASSPATH吗?
答案 0 :(得分:4)
JAVA_HOME
,但Java(或javac)本身并不需要它。
CLASSPATH
。它设置了一个全局类路径,它应该是计算机上安装的几个Java程序所共有的,这是完全不现实的。每个程序都应该使用-classpath
选项将自己的类路径作为参数传递给命令。
在所有平台上都是如此。
答案 1 :(得分:0)
大多数Unix和Mac在"终端"中使用所谓的Bash Shell。当您在Bash shell中启动可执行程序(具有可执行文件的权限)时,系统将在PATH中列出的所有目录中搜索该程序。
有JAVA_HOME
路径,可以设置为:
setenv JAVA_HOME /System/Library/Frameworks/JavaVM.framework/Home
答案 2 :(得分:0)
要设置JAVA_HOME
:
$ vi ~/.bash_profile
export JAVA_HOME=$(/usr/libexec/java_home)
$ source ~/.bash_profile
$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home