前言:
之前發布了關於java開發環境配置的文章,經過與網友的交流,我了解到在jdk1.5以后,java開發環境配置的時候,確實不需要對classpath進行配置,但市面上的書籍,以及一些博客、還是老一套,繼續推薦配置classpath,並且關於不需要配置classpath網絡上沒有什么完整細致,能令人信服的答案,所以我查閱了一些資料以及與別人交流,今天和大家分享一下這些內容。
原配置代碼:
.;%Java_Home%\bin;%Java_Home%\lib\dt.jar;%Java_Home%\lib\tools.jar
原代碼詳解:
Java_Home代表了我們jdk的路徑
- dt.jar是關於運行環境的類庫,主要是用於swing的包,如果不使用可以不配置。
- tools.jar是工具類庫,它在編譯和運行一個類時被使用
當我們配置classpath后,系統會根據我們所配置的classpath加載類
例如:在我們使用javac命令編譯程序時,系統加載tools.jar其實就封裝了下面這樣一條命令
javac XXX.java
java -Classpath=%JAVA_HOME%\lib\tools.jar xx.xxx.Main XXX.java
當然tools的功能可不止這一點,但是確實它為我們提供了很多便利
我們不再需要配置classpath了!
在JDK1.5以后,classpath並不是必須配置了,在JDK1.5之前,是沒有辦法在當前目錄下加載類的(找不到 JDK目錄下lib文件夾中的.jar文件),所以我們需要通過配置classpath,但JDK1.5之后,JRE能自動搜索目錄下類文件,並且加載dt.jar和tool.jar的類。
官方文檔解釋(JDK Tools and Utilities)
The class path tells the JDK tools and applications where to find third-party and user-defined classes that are not extensions or part of the Java platform. See The Extension Mechanism at
類路徑告訴JDK工具和應用程序在哪里可以找到第三方和用戶定義的類,這些類既不是Java平台的擴展,也不是Java平台的一部分。參見擴展機制
If you upgrade from an earlier release of the JDK, then your startup settings might include CLASSPATH settings that are no longer needed. You should remove any settings that are not application-specific, such as classes.zip. Some third-party applications that use the Java Virtual Machine (JVM) can modify your CLASSPATH environment variable to include the libraries they use. Such settings can remain.
如果您從JDK的早期版本升級,那么您的啟動設置可能包括不再需要的類路徑設置。您應該刪除任何與應用程序無關的設置,比如classes.zip。一些使用Java虛擬機(JVM)的第三方應用程序可以修改類路徑環境變量,以包含它們使用的庫。這樣的設置可以保留。
You can change the class path by using the -classpath or -cp option of some Java commands when you call the JVM or other JDK tools or by using the CLASSPATH environment variable. See JDK Commands Class Path Options. Using the -classpath option is preferred over setting the CLASSPATH environment variable because you can set it individually for each application without affecting other applications and without other applications modifying its value. See CLASSPATH Environment Variable.
在調用JVM或其他JDK工具時,可以使用一些Java命令的-classpath或-cp選項,或者使用CLASSPATH環境變量,來更改類路徑。參見JDK命令類路徑選項。使用-classpath選項優於設置CLASSPATH環境變量,因為您可以為每個應用程序單獨設置它,而不影響其他應用程序,也不需要其他應用程序修改它的值。參見CLASSPATH環境變量。
通過官方的文檔說明我們可以看到,rt.jar和tool.jar這兩種屬於java平台自身的包就不需要添加到classpath中,只有一些第三方類或者自定義類需要,也並不推薦使用配置CLASSPATH的方法,更推薦使用-classpath選項
總結:
在JDK1.5之后的版本,配置Java環境變量的時候我們不再需要配置classpath,只需要配置Java_Home以及path即可!
結尾:
如果內容中有什么不足,或者錯誤的地方,歡迎大家給我留言提出意見, 蟹蟹大家 !_
如果能幫到你的話,那就來關注我吧!
在這里的我們素不相識,卻都在為了自己的夢而努力 ❤
一個堅持推送原創Java技術的公眾號:理想二旬不止