Eclipse + tomcat – 部署时的ClassNotFoundexception

我正面临着日食的一个奇怪问题。

我有一个带有CXF,hibernate和spring的多模块maven项目。 如果我接受maven包之后产生的战争,并在tomcat 7上手动部署它 – 一切正常。 但如果我正在尝试使用eclipse(Servers – > tomcat),我会收到以下错误:

SEVERE: Exception starting filter datasourceFilter java.lang.ClassNotFoundException: com.XXXXfilter.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.(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,我在manualy上部署了战争。 我使用eclipse Juno ..如果重要的话……

在我的web.xml上:

  datasourceFilter com.XXXXfilter.DataSourceFilter   datasourceFilter /*  

谁能帮我?

Idob

如果您同时安装了Maven Eclipse插件和Maven WTP插件,则这是自动的。 如果您没有安装这些,请继续安装它们,然后在Eclipse重新启动后右键单击项目并执行Maven>更新项目…. 这将在内部更改项目配置,以便将Maven依赖项复制到部署目标上的/WEB-INF/lib文件夹。

如果您不想使用任何这些插件,则必须转到项目属性>部署程序集配置并手动添加依赖项,但这又是由这些插件自动完成的。