首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Eclipse 整合 Tomcat 啟動報錯:APR 版本不兼容完整排查與解決方案

     編輯:程式設計疑難解答

錯誤現象

Eclipse 啟動 Tomcat 7.0.73 時,控制台反覆輸出嚴重級別日誌:

嚴重: An incompatible version 1.1.30 of the APR based Apache Tomcat Native library is installed, while Tomcat requires version 1.1.32

伴隨警告:Setting property 'source' to 'org.eclipse.jst.jee.server:畢設准備' did not find a matching property.

根因分析

  1. APR Native Library 版本不匹配:系統安裝的 tcnative-1.dll (1.1.30) 低於 Tomcat 7.0.73 要求的 1.1.32。APR (Apache Portable Runtime) 用於提升生產環境性能,開發環境非必需。
  2. Tomcat 安裝包不完整或損壞:可能缺少必要的 native 库文件,或版本混雜。
  3. Eclipse Server 配置指向錯誤的 Tomcat 目錄:導致加載錯誤版本的庫。

解決方案(按推薦順序)

方案一:重新下載完整 Tomcat 壓縮包(最推薦)

  1. 至 Tomcat 官網 下載 **Core: 64-bit Windows zip** (如 apache-tomcat-7.0.109-windows-x64.zip)。
  2. 解壓到**純英文路徑**(如 D:\Dev\apache-tomcat-7.0.109),避免中文/空格路徑問題。
  3. Eclipse 中:Window > Preferences > Server > Runtime Environments,移除舊實例,添加新解壓目錄。
  4. 刪除項目 .metadata\.plugins\org.eclipse.wst.server.core\tmp0 臨時目錄,重新啟動。

方案二:禁用 APR(開發環境適用)

若不想更新 Tomcat,可在 server.xml 中註釋掉 APR 監聽器:

<!-- <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> -->

開發環境不依賴 APR 性能優化,禁用後無副作用。

方案三:手動更新 tcnative-1.dll(不推薦,易出錯)

  1. 下載 tomcat-native-1.1.34-win32-bin.zip (或更高版本)。
  2. 將 bin/tcnative-1.dll 複製到 Tomcat bin 目錄覆蓋舊文件。
  3. 確保 msvcr110.dll (VS2012 Runtime) 存在於系統 PATH 中。

附帶問題:Source Property Warning

警告: Setting property 'source' to 'org.eclipse.jst.jee.server:畢設准備' did not find a matching property.

此為 Eclipse WTP 元數據與項目名稱(含中文/特殊字符)不匹配導致。建議項目名稱純英文/數字/下劃線,或忽略此警告(不影響運行)。

環境信息核對清單

  • JDK 版本:日誌顯示 1.8.0_91,滿足 Tomcat 7 需求。
  • OS: Windows 7 x86 — 注意下載 32 位 Tomcat 或 32 位 JDK,避免架構不匹配。
  • CATALINA_HOME 指向正確解壓目錄。

總結

**「重新下載官方完整壓縮包、配置純英文路徑、Eclipse 重新綁定」** 是解決此類環境問題的標準動作,比折騰單個 dll 文件可靠得多。開發環境大膽禁用 APR,專注業務代碼才是正道。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved