java - 无法找到 XML 模式命名空间的 Spring NamespaceHandler

标签 java eclipse spring tomcat servlets

我在 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.jarWEB-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 的 list 。

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 里都没有那个文件,我确实按照提供的方式列出了它:

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
</dependency>

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

编辑: 嗯.. 现在 Tomcat 甚至找不到 applicationContext 。我认为我的设置有些奇怪。

最佳答案

供将来引用:

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

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

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-XXX</artifactId>
    <version>${org.springframework.version}</version>
</dependency>

问候

关于java - 无法找到 XML 模式命名空间的 Spring NamespaceHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6601391/

相关文章:

java - Spring Security 身份验证仅适用于一个用户名和密码

java - 解析字符串并将其放入数组中

android - 有没有办法在 Android Eclipse 中测试权限?

java - Spring Security - 身份验证的用户名在 AuthenticationSuccessHandler 中为空

java - 如何在 Eclipse 中安装 java 库的源代码?

eclipse - Mac OSX 中的 eclipse 中凭证存储失败

java - 哪个是 CDI @Produces 注释的 Spring 等效项?

java - 什么是 Java EE 负载提取器模式?

java - 从 UTF-8 格式的字符串中提取双字节字符/子字符串

java - 将 JCheckBox 添加到列中除最后一个单元格之外的所有单元格