无法找到XML架构命名空间的Spring NamespaceHandler

我在eclipse中运行tomcat中的一些servlet代码。 它一直工作正常,但今天我收到错误Unable to locate Spring NamespaceHandler for XML schema namespace 。 完整错误如下所示:

 SEVERE: Allocate exception for servlet RunServlet org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/tx] Offending resource: class path resource [spring/dao.xml] 

我已经看过关于这个错误的其他问题,但我真的不明白答案。

当我查看目标库时,我可以看到spring-tx-3.0.5.RELEASE.jar位于WEB-INF/lib

谁能帮我吗?

非常感谢!

编辑: dao.xml启动:

   

编辑:不确定这是否相关,但我正在研究mac book pro,最新的mac更新更新到Java 1.6,我刚刚将我的Java首选项切换到1.6。

编辑:我也在Tomcat日志中收到以下消息,但我认为我以前收到它并且我认为它不相关,但以防万一:

 INFO: Starting Servlet Engine: Apache Tomcat/7.0.14 Jul 6, 2011 11:59:55 AM org.apache.catalina.loader.WebappClassLoader validateJarFile INFO: validateJarFile(/Users/bw/Documents/workspace2/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/core/WEB-INF/lib/servlet-api-2.5.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class 

编辑:对不起 – 没看到你的意见。 这是WEB-INF的列表。

 b-ws-macbook-pro:lib bw$ ls -ltr total 13456 -rw-r--r-- 1 bw staff 62983 May 14 09:26 activation-1.1.jar -rw-r--r-- 1 bw staff 53082 May 14 09:26 spring-asm-3.0.5.RELEASE.jar -rw-r--r-- 1 bw staff 60686 May 14 09:26 commons-logging-1.1.1.jar -rw-r--r-- 1 bw staff 61379 May 14 09:26 spring-oxm-3.0.5.RELEASE.jar -rw-r--r-- 1 bw staff 4467 May 14 09:26 aopalliance-1.0.jar -rw-r--r-- 1 bw staff 100870 May 14 09:26 spring-context-support-3.0.5.RELEASE.jar -rw-r--r-- 1 bw staff 62086 May 14 09:26 commons-pool-1.3.jar -rw-r--r-- 1 bw staff 169752 May 14 09:26 spring-expression-3.0.5.RELEASE.jar -rw-r--r-- 1 bw staff 175412 May 14 09:27 spring-webmvc-portlet-3.0.5.RELEASE.jar -rw-r--r-- 1 bw staff 121757 May 14 09:27 commons-dbcp-1.2.2.jar -rw-r--r-- 1 bw staff 321190 May 14 09:27 spring-aop-3.0.5.RELEASE.jar -rw-r--r-- 1 bw staff 231922 May 14 09:27 spring-tx-3.0.5.RELEASE.jar -rw-r--r-- 1 bw staff 334327 May 14 09:27 spring-orm-3.0.5.RELEASE.jar -rw-r--r-- 1 bw staff 371792 May 14 09:27 mybatis-2.3.5.jar -rw-r--r-- 1 bw staff 382442 May 14 09:27 spring-core-3.0.5.RELEASE.jar -rw-r--r-- 1 bw staff 418977 May 14 09:27 spring-webmvc-3.0.5.RELEASE.jar -rw-r--r-- 1 bw staff 388864 May 14 09:27 mail-1.4.jar -rw-r--r-- 1 bw staff 395587 May 14 09:27 spring-web-3.0.5.RELEASE.jar -rw-r--r-- 1 bw staff 668861 May 14 09:27 spring-context-3.0.5.RELEASE.jar -rw-r--r-- 1 bw staff 555410 May 14 09:27 spring-beans-3.0.5.RELEASE.jar -rw-r--r-- 1 bw staff 385712 May 14 09:27 spring-jdbc-3.0.5.RELEASE.jar -rw-r--r-- 1 bw staff 512707 May 14 09:27 mysql-connector-java-5.0.5.jar -rw-r--r-- 1 bw staff 610790 May 14 09:27 c3p0-0.9.1.2.jar -rw-r--r-- 1 bw staff 391834 May 14 09:27 log4j-1.2.15.jar 

编辑:谢谢,克里斯蒂安。 但这很奇怪,因为我无论如何都没有在我的jar子里放这个文件,而且我按照提供的方式列出了它:

  javax.servlet servlet-api 2.5 provided  

我确定我在这里遗漏了一些东西..

编辑:嗯..现在Tomcat甚至找不到applicationContext 。 我想,我的设置有点奇怪。

供将来参考:

也许你忘了一些spring-XXX的依赖。

例如,在maven中检查你是否有相关的依赖:

  org.springframework spring-XXX ${org.springframework.version}  

问候

嘎。 我修好了,但我真的不知道怎么做。 我在启动Tomcat(Maven依赖项未复制到wtpwebapps)时阅读了这篇文章ClassNotFoundException DispatcherServlet,并看到我有同样的事情 – 在’markers’窗格中列出了一个问题。 我运行了它建议的快速修复程序,现在一切正常。 就像我说的那样,几天前我没碰过它。 显然它有时会感到困惑。 6个小时后..谢谢你的建议,伙计们。

从中更改dao.xml中的命名空间

 http://www.springframework.org/schema/tx/spring-tx-2.0.xsd 

 http://www.springframework.org/schema/tx/spring-tx-3.0.xsd 

(也可能是春豆)

我在Kubuntu上的Eclipse Indigo遇到了同样的问题。 我删除了m2e并重新安装了不同版本的连接器http://download.jboss.org/jbosstools/updates/m2eclipse-wtp/ ,现在一切运行正常。