我在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
开始:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
编辑:不确定这是否相关,但我正在开发一个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
编辑: 谢谢,克里斯蒂安但这很奇怪,因为我无论如何都没有在我的罐子里放这个文件,我按照提供的方式列出了它:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
我确定我在这里遗漏了一些东西..
编辑:
嗯..现在Tomcat甚至找不到applicationContext
。我想,我的设置会发生一些奇怪的事情。
答案 0 :(得分:4)
供将来参考:
也许你忘了一些spring-XXX依赖。
例如,在maven中检查你是否有相关的依赖:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-XXX</artifactId>
<version>${org.springframework.version}</version>
</dependency>
此致
答案 1 :(得分:2)
尔加。我修好了,但我真的不知道怎么做。我阅读了这篇文章ClassNotFoundException DispatcherServlet when launching Tomcat (Maven dependencies not copied to wtpwebapps),看到我有同样的事情 - 在'markers'窗格中列出了一个问题。我运行了它建议的快速修复程序,现在一切正常。就像我说的那样,几天前我没碰过它。显然它有时会感到困惑。 6个小时后..感谢您的建议,伙计们。
答案 2 :(得分:1)
从
更改dao.xml中的命名空间http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
到
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
(也可能是春豆)
答案 3 :(得分:0)
我在Kubuntu上的Eclipse Indigo遇到了同样的问题。我删除了m2e并重新安装了不同版本的连接器http://download.jboss.org/jbosstools/updates/m2eclipse-wtp/,现在一切运行正常。