为什么我不需要在Mac OS X中设置CLASSPATH和JAVA_HOME?

时间:2013-08-11 10:18:26

标签: java

我正在使用jdk 1.7,安装后我没有设置JAVA_HOME或CLASSPATH环境变量,我用它来编译servlet类,一切正常。

所以我想知道,为什么我不应该设置这些环境变量? JDK可以自动解决CLASSPATH吗?

3 个答案:

答案 0 :(得分:4)

某些工具(Ant,Maven等)使用

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