程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Struts2環境下Tomcat啟動異常:Exception starting filter struts2,報了一個java.lang.ClassNotFoundException,struts2filter

Struts2環境下Tomcat啟動異常:Exception starting filter struts2,報了一個java.lang.ClassNotFoundException,struts2filter

編輯:JAVA綜合教程

Struts2環境下Tomcat啟動異常:Exception starting filter struts2,報了一個java.lang.ClassNotFoundException,struts2filter


在寫一個struts2+hibernate整合的小例子時,啟動Tomcat服務器,報了一個:

嚴重: Exception starting filter struts2
java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

  折騰了半天,終於知道了原因,在搭建struts2的環境時,一般的做法是把jar包拖到WEB-INF下的lib文件中,Tomcat啟動時,會到這個目錄下加載jar文件,但如果你使用的是User Libraries,那麼就在lib下就沒有相應的jar文件了,雖然程序編譯是沒有問題的,但很有可能Tomcat啟動時會報這個錯,

  原因很簡單:eclipse發布項目的時候並未自動將引用的jar包copy到WEB-INF/目錄下,導致編譯器找不到所使用的class.

百度了半天,找到了三種解決方案,一一試過了,只有兩種成功解決了問題

  第一種方法(成功):

    很簡單,拋棄使用User Librariy,將所有jar文件放到lib文件目錄下,問題解決.但這並不是我想要的.

  第二種方法(失敗):

    配置Tomcat的時候,默認選擇的是"debug"模式,即調試模式,需要設置成"run"也就是運行模式

步驟為:Windows->preferences->My eclispe->servers->找到你使用的Tomcat->Lauch.

 

      第三種方法(成功):

    手動將User library中的jar包添加到項目發布時自動加載的目錄下:

    選中項目,右鍵選擇Properties->Myeclispe->Deployment Assembly->new:

  

選中你之前建好的User library,點擊finish:

重新部署項目,啟動Tomcat,問題解決!~~~~~

  

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved