在 Linux 環境下啟動 Spring Tool Suite (STS) 或 Eclipse 時,常遇到以下錯誤:
A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run STS. No Java virtual machine was found after searching the following locations: /home/carlos/Documents/soft/sts-bundle/sts-3.7.3.RELEASE/jre/bin/java java in your current PATH
原因在於 STS 預期在安裝目錄下的 jre/ 子目錄找到 JVM,但 Linux 版安裝包通常不捆綁 JRE。解決方法是在 STS 目錄下建立指向系統已安裝 JDK 的符號鏈接。
java -version which java假設 JDK 安裝路徑為
/usr/lib/jvm/java-8-openjdk(根據實際情況調整)。
cd /home/king/sts-bundle/sts-3.7.3.RELEASE
mkdir jre
cd jre
ln -s /usr/lib/jvm/java-8-openjdk/bin bin
ln -s 源文件 目標文件 創建軟鏈接(符號鏈接),類似 Windows 的快捷方式。
ln 無 -s) 會創建同體積文件,刪除源文件不影響硬鏈接;軟鏈接源文件刪除則失效。示例:ln -s /bin/less /usr/local/bin/less
使用 ls -l 查看時,軟鏈接會顯示箭頭指向源路徑:lrwxrwxrwx ... less -> /bin/less
除 STS 外,Eclipse、IntelliJ IDEA 等 IDE 在 Linux 下若報類似錯誤,同樣適用此法:在 IDE 安裝目錄建立 jre/bin 指向系統 JDK bin 目錄的符號鏈接。或修改 sts.ini/eclipse.ini 添加 -vm /usr/lib/jvm/java-8-openjdk/bin/java 參數(推薦,更標準)。