繁体   English   中英

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

[英]Why I do not need to set CLASSPATH and JAVA_HOME in Mac OS X?

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

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

一些工具(Ant,Maven等)使用JAVA_HOME ,但Java(或javac)本身不需要。

绝对不要使用CLASSPATH 它设置了一个全局类路径,这对于计算机上安装的多个Java程序应该是通用的,这是完全不现实的。 每个程序都应使用-classpath选项将自己的类路径作为参数传递给命令。

在所有平台上都是如此。

大多数Unix和Mac在“终端”中使用所谓的Bash Shell。 在Bash Shell中启动可执行程序(具有可执行文件权限)时,系统会在PATH中列出的所有目录中搜索该程序。

JAVA_HOME路径,可以设置为:

setenv JAVA_HOME /System/Library/Frameworks/JavaVM.framework/Home

要设置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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM