Java 找不到XML架构命名空间的Spring NamespaceHandler

Java 找不到XML架构命名空间的Spring NamespaceHandler,java,eclipse,spring,tomcat,servlets,Java,Eclipse,Spring,Tomcat,Servlets,我正在eclipse中的tomcat中运行一些servlet代码。它一直工作得很好,但今天我遇到了一个错误无法找到用于XML架构命名空间的Spring NamespaceHandler。完整错误如下所示: SEVERE: Allocate exception for servlet RunServlet org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration probl

我正在eclipse中的tomcat中运行一些servlet代码。它一直工作得很好,但今天我遇到了一个错误
无法找到用于XML架构命名空间的Spring NamespaceHandler
。完整错误如下所示:

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">
编辑:抱歉-未看到您的评论。下面是
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>

javax.servlet
servlet api
2.5
假如
我肯定我错过了一些东西

编辑:
隐马尔可夫模型。。现在Tomcat甚至找不到
applicationContext
。我觉得我的设置有点奇怪。

将dao.xml中的名称空间从

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


(可能还有春豆)

Gah。我修好了,但我真的不知道怎么做。我读了这篇文章,发现我也有同样的问题——在“标记”窗格中列出了构建的问题。我运行了它建议的快速修复,现在一切都恢复正常了。就像我说的,几天前我就没碰过它。很明显,有时候会弄糊涂。6小时后。。谢谢你们的建议,伙计们。

我在库本图的Eclipse Indigo上遇到了同样的问题。我删除了m2e并重新安装了不同版本的连接器,现在一切正常。

供将来参考:

也许你忘记了一些春天的依赖

例如,在maven中,检查您是否具有相关依赖项:

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

org.springframework
春天XXX
${org.springframework.version}

关于

出现关于servlet-api-2.5.jar的消息是因为jar文件必须由servlet容器(即Tomcat)提供,而不是由应用程序提供。您的WEB-INF/lib不应包含该文件。不过,您可能需要它来编译应用程序。在Maven中,您可以使用servlet api依赖项提供的作用域
。但是你也可以保留这个文件,因为Tomcat只是跳过并忽略了这个文件。你能添加一个WEB-INF/lib的目录列表吗。我修好了,但我真的不知道怎么做。我读了这篇文章,发现我也有同样的问题——在“标记”窗格中列出了构建的问题。我运行了它建议的快速修复,现在一切都恢复正常了。就像我说的,几天前我就没碰过它。很明显,有时候会弄糊涂。6小时后。。谢谢你们的建议,伙计们……谢谢你们的建议。不幸的是,这似乎没有什么区别。我做了更改,创建了干净的应用程序,重新启动了服务器。同样的问题。嗯,在类路径上有其他版本的spring tx jar吗?我不确定。我如何查看在eclipse中运行的tomcat服务器的类路径?我以为它只会使用WEB-INF/lib中的jar,而那里只有一个spring tx jar?spring jar在顶级WEB-INF/lib文件夹中吗?而不是像WEB-INF/lib/spring这样的东西?
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-XXX</artifactId>
    <version>${org.springframework.version}</version>
</dependency>