安裝 JDK 後,操作系統不知道 java、javac 等命令在哪裡。配置環境讓系統能在任意目錄下直接運行 Java 命令,也是 IDE、構建工具(Maven/Gradle)正常工作的前提。
| 變量名 | 作用 | 典型值 |
|---|---|---|
| JAVA_HOME | JDK 安裝根目錄,其他工具引用的基準 | C:\Program Files\Java\jdk-17 / /usr/lib/jvm/java-17-openjdk |
| PATH | 系統搜索可執行文件的路徑列表,需包含 %JAVA_HOME%\bin | ...;%JAVA_HOME%\bin |
| CLASSPATH | 類搜索路徑(現代 Java 通常**不需要**手動設置) | .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar (舊版建議) |
C:\Program Files\Java\jdk-17),**建議路徑末尾不加反斜杠**。%JAVA_HOME%\bin,移至頂部優先級最高。.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar。注意: JDK 9+ 模組化後,tools.jar 已不存在,**強烈建議留空或刪除此變量**,避免干擾模塊系統。編輯 ~/.bashrc、~/.zshrc 或 /etc/profile(全局):
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
export PATH=$JAVA_HOME/bin:$PATH
# export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar # 一般不需要
執行 source ~/.bashrc 生效。
$ java -version
openjdk version "17.0.8" 2023-07-18
OpenJDK Runtime Environment (build 17.0.8+7)
OpenJDK 64-Bit Server VM (build 17.0.8+7, mixed mode, sharing)
$ javac -version
javac 17.0.8
$ echo $JAVA_HOME
/usr/lib/jvm/java-17-openjdk
Program Files),或使用短路徑 Progra~1。java.exe 生效,用 where java (Win) / which -a java (Linux) 排查。