jdk本身就包含了運行環境jre,
老版本JDK安裝包仍然帶了jre,需要一起安裝
這個版本不同老版本,
安裝包不含jre部分,
故環境變量也不用配置jre
刪除了JDK 9中的rt.jar和tools.jar
類和資源文件之前存儲在lib/rt.jar
,lib/tools.jar
,lib/dt.jar
和其他各種內部JAR文件都存儲在一個更有效的格式在實現特定的文件lib
目錄。
刪除rt.jar
和類似文件會導致以下方面的問題:
tools.jar包也不存在,不用配置
JAVA_HOME
C:\Program Files\Java\jdk-11.0.6
CLASSPATH
.;%JAVA_HOME%\bin
.代表當前路徑
新打開命令行:
運行命令 java -version
運行命令 javac
都能找到,就明配置環境變量正確
轉:https://www.iteye.com/blog/uule-2149115
JRE下的rt.jar:
這個文件是極為重要的一個文件,rt是runtime的縮寫,即運行時的意思。是java程序在運行時必不可少的文件。
里面包含了java程序員常用的包,如java.lang,java.util,java.io,java.net,java.applet等
1. rt.jar 默認就在 根classloader的加載路徑里面 放在claspath是多此一舉
不信你可以去掉classpath里面的rt.jar
然后用 java -verbose XXXX 的方式運行一個簡單的類 就知道 JVM的系統根Loader的路徑里面 不光rt.jar jre/lib下面的大部分jar 都在這個路徑里
2. tools.jar 是系統用來編譯一個類的時候用到的 也就是javac的時候用到
javac XXX.java
實際上就是運行
java -Calsspath=%JAVA_HOME%/lib/tools.jar xx.xxx.Main XXX.java
javac就是對上面命令的封裝 所以tools.jar 也不用加到classpath里面
3. dt.jar是關於運行環境的類庫,主要是swing的包 你要用到swing時最好加上
dt.jar好像是swing的一些什么類,Eclipse開發環境默認的JRE也沒有包括它。應該沒用。
tools.jar應用服務器用來編譯JSP文件,應用服務器自己會加載,不需要自己設置。
dt.jar是關於運行環境的類庫,主要是swing的包
tools.jar是關於一些工具的類庫
rt.jar包含了jdk的基礎類庫,也就是你在java doc里面看到的所有的類的class文件
關於path和classpath的含義:
1.path變量的含義就是系統在任何路徑下都可以識別java,javac命令
2.classpath變量的含義是告訴jvm要使用或執行的class放在什么路徑上,便於JVM加載class文件,.;表示當前路徑,tools.jar和dt.jar為類庫路徑。如果不用Swing里面的東西,可以不加dt.jar。 tools.jar里面是最基本的工具類,比如javac,不加是無法做開發的。
編譯和運行需要的都是toos.jar里面的類 , 分別是
sun.tools.java.*;
sun.tools.javac.*;