[英]Can't start Tomcat as Windows Service
我在 Windows 8 上使用 Tomcat6。我可以通過 startup.bat 啟動 Tomcat 而不會出錯。 我在tomcat/bin目錄下復制了Tomcat6.exe、Tomcat6w.exe和service.bat,並設置了.exe文件以管理員身份運行。
我以管理員權限打開命令行並執行“service.bat install”,它運行沒有錯誤。 在 Windows 服務中,我可以看到 Apache Tomcat 6 我想自動運行。
但是,無論是使用“開始”按鈕從 Windows 服務運行還是在 Windows 啟動時,我都遇到了同樣的錯誤。
“Windows 無法在本地計算機上啟動 Apache Tomcat 6。有關詳細信息,請查看系統事件日志。如果這是非 Microsoft 服務,請聯系服務供應商,並參考特定於服務的錯誤代碼 0。
當我檢查 Windows 事件日志時,我看到以下奇怪的錯誤。
“Apache Tomcat 6 服務因以下特定於服務的錯誤而終止:操作成功完成。”
我嘗試在 tomcat/bin 目錄下復制 msvcr71.dll,但沒有任何改變。 我還可以做些什么?
更新:
我使用的端口與 8080 不同。我在日志文件 /logs/jakarta_service.log 中看到了以下錯誤:
%1 不是有效的 Win32 應用程序。
轉到開始 > 配置 Tomcat >
這對我有用!
我有問題,因為我更新了 Java 版本。
以下步驟對我有用:
- 運行
\\Tomcat\\bin\\tomcat7w.exe
- 確認“啟動”選項卡->“模式”選擇“jvm”
- “Java”選項卡 -> 將“Java 虛擬機”路徑更新為新版本路徑
- 重啟Tomcat
完畢。
“Windows 無法在本地計算機上啟動 Apache Tomcat 6。有關詳細信息,請查看系統事件日志。如果這是非 Microsoft 服務,請聯系服務供應商,並參考特定於服務的錯誤代碼 0”
當出現這種錯誤時。 請進入開始->配置tomcat->啟動->模式->java同樣啟動->配置tomcat->關機->模式->java
您需要先檢查端口。 可能是其他應用程序使用默認端口(8080)的情況。
嘗試將端口從 8080 更改為 conf/server.xml 文件中的某個不同端口。
另外請檢查您的 JRE_HOME 變量是否設置正確,因為 tomcat 需要 JRE 才能運行。 您還可以在系統中設置 JRE_HOME 變量。 為此,請轉到我的計算機-> 右鍵單擊並選擇屬性-> 高級系統設置-> 高級-> 環境變量並單擊新建-> 變量名稱 = "JRE_HOME" 和變量值 = "C:\\Program Files\\Java\\ jre7"
如果在日志中發現“端口已使用”異常,則使用以下命令檢查 windows 使用的端口和進程:運行 cmd netstat -ao 它將列出所有偵聽端口和相應的進程 ID,您可以找到被使用的端口Tomcat 來自配置文件:../conf/server.xml
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
並殺死使用tomcat端口的進程
原因 :
這個問題是由:
1- tomcat can't find the jvm file from the directory specified to start the service because is deleted.
2- Incorrect permissions to the java folder for read&write access
3- Incorrect JAVA_HOME path.
4- Antivirus deleted the jvm file from java folder
解析度:
1- 確認指定的文件存在於 java 目錄中。
2- 確保該文件具有讀寫權限。
3- 確認 JAVA_HOME 對於 java 版本是正確的。
4- 如果文件已被刪除,重新安裝相同的 Java 版本以重新創建丟失的文件。
對我有用的最簡單的答案是 Prashant 提到的,由 Bluish 編輯的。
轉到開始 > 配置 Tomcat > 啟動 > 模式 = Java 關機 > 模式 = Java
不幸的是,我(可能還有其他人)以不同的方式執行此操作,我轉到 tomcat bin 目錄並運行“tomcat7w”應用程序,這就是我更改配置的方式。
在那里我能夠將啟動模式和關閉模式更改為Java 。 像這樣:
Step1) 找到tomcat7w :
一般位置 => %TomCatHomeDIR%/bin在我的例子中,tomcat 在 xampp 文件夾中,所以我的地址是:
C:\\xampp\\tomcat\\bin
Step2) 啟動tomcat7w && 更改啟動和關機選項卡中的模式
注意 >這基於 XAMPP 標准的 7.0.22 版。
Prashant 建議的解決方案對我來說效果很好。
Tomcat9 屬性 > 配置 > 啟動 > 模式 = Java Tomcat9 屬性 > 配置 > 關機 > 模式 = Java
我有類似的問題,但安裝 tomcat 32 位和 jdk 32 位工作,這主要是因為位不匹配。
所有這些錯誤都與 Apache 和 JDK 連接不良有關。
人們通常忘記在系統變量中設置 JAVA_HOME。
如果你仍然有錯誤嘗試一步一步思考
在 JAVA_HOME 路徑中不要包含bin非常重要。 應該是這樣的
C:\\Program Files\\Java\\jdk-11.0.3
在 64 位系統上,您必須確保 Tomcat 應用程序和 JDK 具有相同的體系結構:兩者都是 x86 或 x64。
如果您想將 Tomcat 實例更改為 x64,您可能需要下載具有適當 x64 版本的tomcat8.exe
或tomcat9.exe
和tcnative-1.dll
。 你可以在http://svn.apache.org/viewvc/tomcat/獲得這些。
或者,您可以通過更改 Tomcat 配置中的 Java 虛擬機路徑將 Tomcat 指向 x86 JDK。
我解決了這個問題,在tomcatXw.exe
中設置了正確的JVM
路徑
tomcatXw.exe
Java
選項卡use default
並確保您的Java Virtual Machine
設置為正確的路徑。有關更多信息,請查看此
在我的情況下,如果您不在 x64 版本上安裝 x86 版本,它會有所幫助... DOH!
在開始之前,首先確保您在 Windows Environment Path 中有 Java 目錄的路徑
C:\\Program Files\\Java\\jdk-13.0.2
bin
”文件夾並啟動它。應該現在工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.