Tôi đang chạy một số mã servlet trong tomcat trong nhật thực. Nó đã hoạt động tốt nhưng hôm nay tôi gặp lỗi Unable to locate Spring NamespaceHandler for XML schema namespace
. Lỗi đầy đủ trông giống như sau:Không thể xác định vị trí Spring NamespaceHandler cho không gian tên lược đồ XML
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]
Tôi đã xem xét các câu hỏi khác liên quan đến lỗi này, nhưng tôi thực sự không hiểu câu trả lời.
Khi tôi xem libs mục tiêu, tôi có thể thấy rằng spring-tx-3.0.5.RELEASE.jar
nằm trong WEB-INF/lib
.
Có ai có thể giúp tôi không?
Cảm ơn bạn rất nhiều!
EDIT: dao.xml
bắt đầu:
<?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">
EDIT: Không chắc nếu điều này là có liên quan, nhưng tôi đang làm việc trên một pro mac cuốn sách, và bản cập nhật mới nhất được cập nhật mac Java 1.6, và tôi chỉ chuyển trên các tùy chọn Java của tôi là 1,6.
EDIT: Tôi cũng nhận được thông báo sau trong nhật ký Tomcat, nhưng tôi nghĩ rằng tôi đã nhận được nó trước và tôi không nghĩ rằng nó có liên quan, nhưng chỉ trong trường hợp:
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
EDIT: Rất tiếc - không thấy nhận xét của bạn. Đây là danh sách của 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
EDIT: Xin cảm ơn, Christian. Đó là kỳ lạ, tuy nhiên, vì tôi không có tập tin đó trong lọ của tôi dù sao, và tôi làm liệt kê nó như cung cấp:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
Tôi chắc rằng tôi đang thiếu một cái gì đó ở đây ..
EDIT : Hmm .. bây giờ Tomcat thậm chí không thể tìm thấy applicationContext
. Có gì đó kỳ lạ xảy ra với thiết lập của tôi, tôi nghĩ vậy.
Thông điệp về servlet-api-2.5.jar xảy ra bởi vì đó là file jar phải được cung cấp bởi các container servlet , tức là Tomcat, chứ không phải bởi ứng dụng. WEB-INF/lib của bạn không được chứa tệp đó. Tuy nhiên, bạn có thể cần nó để biên dịch ứng dụng của mình. Trong Maven, bạn có thể sử dụng phạm vi 'được cung cấp' cho phụ thuộc servlet-api. Nhưng bạn cũng có thể giữ tập tin, bởi vì Tomcat chỉ đơn giản là bỏ qua và bỏ qua các tập tin. –
Bạn có thể thêm danh sách thư mục của WEB-INF/lib không? –
Gah. Tôi đã sửa nó, nhưng tôi thực sự không biết làm thế nào. Tôi đọc bài đăng này http://stackoverflow.com/questions/4777026/classnotfoundexception-dispatcherservlet-when-launching-tomcat-maven-dependencie và thấy rằng tôi đã có cùng một điều - một vấn đề được liệt kê với bản dựng trong 'điểm đánh dấu 'pane. Tôi chạy nhanh chóng sửa chữa nó gợi ý và bây giờ tất cả mọi thứ đang làm việc một lần nữa. Như tôi đã nói, tôi đã không chạm vào nó từ một vài ngày trước. Dường như đôi khi nó cũng bị lẫn lộn. 6 giờ sau .. Cảm ơn lời đề nghị của bạn, các bạn .. – Bruce