2013-03-14 105 views
2

我試圖在Eclipse上運行Apache Tomcat服務器,並鑽進了以下問題:如何使用Apache Tomcat服務器運行Eclipse動態Web應用程序?

  1. 的CATALINA_BASE使用的臨時位置!
  2. 我無法部署依賴項「jar文件」!
  3. 我跑我的web項目時,得到了以下異常:
SEVERE: Servlet.service() for servlet [jsp] in context with path [] threw exception [java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;] with root cause java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext; 

回答

5

我設法解決通過執行以下步驟上面3個問題:

1雙擊您的服務器(Tomcat的這種情況下)[如果你不能看到它去Windows -> Show/View -> Other -> Server -> Servers]。您的服務器名稱如下所示: 「本地主機上的Tomcat v7.0服務器」。

雙擊服務器並確保服務器位置設置爲: 「使用Tomcat安裝(控制Tomcat安裝)」。 如果您無法編輯服務器位置: 停止服務器,right-click the server and select Publish。 如果仍然你不能對它進行編輯。

右鍵單擊服務器 - >添加和刪除,並刪除您的項目,然後再 發佈。

之所以選擇「使用Tomcat安裝」是CATALINA_BASE將指向一個臨時位置,看起來像:

"-Dcatalina.base="C:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1" 

這將試圖打開的Apache Tomcat時甚至會導致404錯誤首頁。 當選擇「使用Tomcat安裝」 CATALINA_HOME和CATALINA_BASE值將是相同的,都將指向Tomcat的安裝目錄: 例子:

-Dcatalina.base="C:\apache-tomcat-7.0.37" -Dcatalina.home="C:\apache-tomcat-7.0.37" 

要查看參數:

雙擊服務器然後點擊「打開啓動配置」, 值將出現在「參數」選項卡中。

2 - 當使用依賴關係(例如外部JAR文件),請確保該文件是在:

: WEB-INF/lib目錄 ,然後通過執行以下操作將其添加到類路徑

右鍵單擊項目 - >構建路徑 - >配置構建路徑選擇 「庫」 選項卡中單擊Add External JARs並選擇jar文件 WEB-INF/lib目錄

接下來你需要depl OY依賴關係: 要做到這一點:

右鍵單擊項目 - >屬性從左側選擇 「部署大會」在右側點擊添加 - > Java構建 路徑條目 - >下一步添加所有您的項目需要的jar文件。

否則,你會得到所使用的jar文件類未發現異常。 3-確保Web-Inf/lib不包含來自Apache Tomcat的任何jar文件,因爲這會導致冗餘,並會導致上述異常!

相關問題