簡體   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