簡體   English   中英

無法啟動 Tomcat 作為 Windows 服務

[英]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
  • 關機 > 模式 = Java

這對我有用!

我有問題,因為我更新了 Java 版本。

以下步驟對我有用:

  1. 運行\\Tomcat\\bin\\tomcat7w.exe
  2. 確認“啟動”選項卡->“模式”選擇“jvm”
  3. “Java”選項卡 -> 將“Java 虛擬機”路徑更新為新版本路徑
  4. 重啟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"

  1. 檢查 apache tomcat catalina 日志:../logs/catalina.log
  2. 如果在日志中發現“端口已使用”異常,則使用以下命令檢查 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

tomcat7w 文件位置截圖

Step2) 啟動tomcat7w && 更改啟動和關機選項卡中的模式

tomcat7w 啟動選項卡截圖

注意 >這基於 XAMPP 標准的 7.0.22 版。

Prashant 建議的解決方案對我來說效果很好。

Tomcat9 屬性 > 配置 > 啟動 > 模式 = Java Tomcat9 屬性 > 配置 > 關機 > 模式 = Java

我有類似的問題,但安裝 tomcat 32 位和 jdk 32 位工作,這主要是因為位不匹配。

所有這些錯誤都與 Apache 和 JDK 連接不良有關。

  1. 轉到開始>系統>Advanced_system_settings>
  2. 系統屬性將彈出到環境變量
  3. 在用戶變量中,您必須設置變量:JAVA_HOME 值:C:\\Program_Files\\Java\\jdk1.8.0_161
  4. 在系統變量中,您需要放入路徑:jdk/bin path & jre/bin path 並且您還需要有 JAVA_HOME C:\\Program_Files\\Java\\jdk1.8.0_161

人們通常忘記在系統變量中設置 JAVA_HOME。

如果你仍然有錯誤嘗試一步一步思考

  1. 打開事件查看器>檢查管理事件和 Windows 日志>系統查看錯誤。 如果這沒有幫助
  2. 轉到 C:\\Program Files\\Apache Software Foundation\\Tomcat 7.0\\logs commons-daemon.XXXX-XX-XX.log 並閱讀錯誤和警告......應該很好地用文字說明問題所在。

在 JAVA_HOME 路徑中不要包含bin非常重要。 應該是這樣的

C:\\Program Files\\Java\\jdk-11.0.3

在 64 位系統上,您必須確保 Tomcat 應用程序和 JDK 具有相同的體系結構:兩者都是 x86 或 x64。

如果您想將 Tomcat 實例更改為 x64,您可能需要下載具有適當 x64 版本的tomcat8.exetomcat9.exetcnative-1.dll 你可以在http://svn.apache.org/viewvc/tomcat/獲得這些。

或者,您可以通過更改 Tomcat 配置中的 Java 虛擬機路徑將 Tomcat 指向 x86 JDK。

我解決了這個問題,在tomcatXw.exe中設置了正確的JVM路徑

  1. 找到您的 Tomcat 服務器安裝
    (C:\Program Files\Apache Software Foundation\Tomcat X\bin)
  2. 點擊tomcatXw.exe
  3. Go 到Java選項卡
  4. 取消選中use default並確保您的Java Virtual Machine設置為正確的路徑。
    (C:\Program Files\Java\jre1.8.0_361\bin\server\jvm.dll) 在我的例子中

有關更多信息,請查看

在我的情況下,如果您不在 x64 版本上安裝 x86 版本,它會有所幫助... DOH!

在開始之前,首先確保您在 Windows Environment Path 中有 Java 目錄的路徑

  1. 開始>控制面板> 查找“系統
  2. 選擇“編輯系統環境變量
  3. 選擇“高級”選項卡。
  4. 單擊“環境變量... ”按鈕。 (窗口底部)
  5. 在系統變量組框中,單擊“新建... ”按鈕
  6. 分配所需的名稱,如“Java_Home”
  7. 單擊“瀏覽目錄”並找到您的 Java jdk 目錄。 例如: C:\\Program Files\\Java\\jdk-13.0.2
  8. 轉到 Tomcat 的“ bin ”文件夾並啟動它。

應該現在工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM