Elementary-Os
更改tomcat6使用的JRE/JDK
我需要更改我的 tomcat6 伺服器使用的 JRE,因為我有一個 JSP 應用程序,它已經編譯了類
JDK 1.8.0_45
。然後因為我有
JRE 1.8.0_40
(並且被 tomcat 使用),我在執行時在我的 JSP 應用程序中遇到了一個故障:The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class files
所以我已經安裝了
JRE 1.8.0_45
,只需下載它,然後提取並移動到:/usr/lib/jvm/jre1.8.0_45/
然後更新以使用它(如您所見,抱歉,因為它是西班牙語):
所以我只是重新啟動電腦,然後尋找哪個 JRE 正在使用 tomcat ……但發現了類似的東西(抱歉,如果這不是最好的查看方式,我認為這是更簡單的方式):
ps -aux | grep tomcat
如您所見, grep 輸出中的第一“行”是執行 tomcat (不是嗎?),但它似乎使用 JDK 而不是 JRE。此外,它正在使用
JDK1.8.0_40
,而我JDK1.8.0_45
在建構我的應用程序時在同一台 PC 上使用:如果我們檢查JDK選項,選擇的沒有指定版本,所以我不知道它是否有問題:
所以這是我的問題,我只是想知道如何將 tomcat 使用的 JDK/JRE 版本更改為 u45。
我需要解決所有這些混亂。
你可以通過設置
JAVA_HOME
變數來解決這個問題/etc/default/tomcat6
(我假設基本作業系統仍然有 Debian/Ubuntu Tomcat 包)。不過,您遇到的錯誤相當令人驚訝,我不希望
Map$Entry
在 JDK 1.8.0_40 和 1.8.0_45 之間切換時會出現錯誤。