Windows

Apache Tomcat Windows 服務忽略 JAVA_HOME 環境變數

  • June 11, 2015

我正在嘗試在 Windows Server 2003 機器上設置 Apache Tomcat。catalina.bat start如果我使用命令行版本JAVA_HOME(而不是JDK路徑。結果,我的腳本無法編譯,應用程序無法執行。

我正在使用所有東西的舊版本:Tomcat 4 和 Java 1.4.2_19(這是一個遺留應用程序,我沒有時間在 mo 更新 - 我只是想讓它執行,用於第 1 階段)。

我已經安裝了 JDKC:\j2sdk1.4.2_19和 Tomcat 安裝到C:\Program Files\Apache Software Foundation\Tomcat 4.1. 該服務的“Java 虛擬機”設置設置為C:\j2sdk1.4.2_19\jre\bin\client\jvm.dll. JAVA_HOME環境變數設置C:\j2sdk1.4.2_19為.

當我嘗試啟動我的應用程序時,它會將以下錯誤寫入日誌:

Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK. It is currently set to "C:\j2sdk1.4.2_19\jre"

即它在不應該存在的地方添加了一個額外的“ \jre” !JAVA_HOME

我還想知道它是否可能是某個地方的系統資料庫設置,但我查看了所有明顯的地方。HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\Tomcat4\Parameters\Java\JavaHome設置為與JAVA_HOME環境變數相同,就像和之類的JavaHome地方下的鍵一樣。JavaSoft\Java Development Kit\1.4``JavaSoft\Java Runtime Environment\1.4.2_19

我開始變得相當沮喪,試圖弄清楚為什麼它不起作用!

最後我通過啟動一個命令視窗來修復它,進行適當的設置,然後從 Tomcat 的目錄JAVA_HOME執行以下腳本:bin

service.bat remove
service.bat install

我不知道它是怎麼做到的,但這重新配置了服務以使用JAVA_HOME.

檢查相應的系統資料庫項。這是我的:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\Tomcat7.55\Parameters\Java

更改 JVM 鍵值

引用自:https://serverfault.com/questions/223743