2012-10-03 132 views
2

我正面臨一個奇怪的eclipse問題。Eclipse + tomcat - ClassNotFound異常部署

我有一個CXF,休眠和彈簧的多模塊maven項目。如果我把maven包之後生成的戰爭,並在tomcat 7手動部署它 - 一切正常。但是,如果我想和Eclipse工作(服務器 - > Tomcat的)我收到以下錯誤:

SEVERE: Exception starting filter datasourceFilter 
java.lang.ClassNotFoundException: com.X.X.X.X.filter.DataSourceFilter 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:532) 
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514) 
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:133) 
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:256) 
    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:382) 
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:103) 
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4650) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5306) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:662) 

值得一提的是,這我試圖與Eclipse集成tomcat的是一樣的獨立的Tomcat,我把這場戰爭部署在手工方面。 我用日食朱諾..如果它的事項..

在我的web.xml:

<filter> 
     <filter-name>datasourceFilter</filter-name> 
     <filter-class>com.X.X.X.X.filter.DataSourceFilter</filter-class> 
    </filter> 
     <filter-mapping> 
     <filter-name>datasourceFilter</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 

誰能幫助我?

Idob

回答

4

如果您已經安裝了兩個Maven Eclipse PluginMaven WTP Plugin這是自動的。如果您沒有安裝這些軟件,請繼續安裝它們,然後一旦Eclipse重新啓動,請右鍵單擊該項目並執行Maven>更新項目...。這將在內部更改項目配置,以便將Maven依賴關係複製到部署目標上的/WEB-INF/lib文件夾。

如果你不想使用這些插件,那麼你必須去項目屬性>部署大會配置和手動添加你的依賴,但同樣,這是由這些插件自動完成-INS。

+0

哦,多麼愚蠢的錯誤。我確定我安裝了m2e wtp插件。糟糕...謝謝 –

+1

在我的eclipse web項目中添加Spring之後,我現在遇到了這個完全相同的問題,現在無法在eclipse中運行tomcat以利用調試和快速重新部署功能。無法弄清楚如何解決它。以上步驟不起作用。那裏有其他想法嗎? - 乾杯。 – crowmagnumb