2011-07-06 7 views
6

Eclipse에서 Tomcat에서 일부 서블릿 코드를 실행하고 있습니다. 그것은 잘 작동하지만 오늘은 오류 Unable to locate Spring NamespaceHandler for XML schema namespace가 나타납니다. 전체 오류는 다음과 같습니다 :이 오류에 대한 다른 질문을 살펴 했어,하지만 난 정말 답을 이해하지 못하는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.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"> 

편집 : 확실하지 않음이 관련이 있지만, 나는 맥 북 프로 및 Java 1.6로 업데이트 최신 맥 업데이트에서 일하고 있어요, 난 그냥 전환 한 경우 내 Java 환경 설정을 1.6 이상으로.

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

그 jar 파일이 서블릿 컨테이너가 제공해야하기 때문에 서블릿 API를-2.5.jar에 대한 메시지가 발생합니다 , 즉 응용 프로그램이 아니라 Tomcat을 사용합니다. WEB-INF/lib에 해당 파일이 없어야합니다. 하지만 앱을 컴파일하는 데 필요할 수 있습니다. Maven에서는 servlet-API 의존성에 대해 '제공된'범위를 사용할 수 있습니다. 그러나 Tomcat이 단순히 파일을 건너 뛰고 무시하기 때문에 파일을 보관할 수도 있습니다. –

+0

WEB-INF/lib 디렉토리 목록을 추가 할 수 있습니까? –

+0

가. 나는 그것을 고쳤다. 그러나 나는 정말로 방법을 모르고있다. 나는이 게시물을 읽었다. http://stackoverflow.com/questions/4777026/classnotfoundexception-dispatcherservlet-when-launching-tomcat-maven-dependencie 그리고 나는 똑같은 것을 보았다 - '마커 '창. 나는 그것이 제안한 빠른 수정을 실행했고 모든 것이 다시 작동하고있다. 내가 말했듯이, 나는 며칠 전에 그것을 만지지 않았다. 외관상으로는 다만 때때로 혼동된다. 6 시간 후 .. 제안 해 주셔서 감사합니다. 남자들 .. – Bruce

답변

2

GAH에

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

에서 dao.xml의 네임 스페이스. 나는 그것을 고쳤다. 그러나 나는 정말로 방법을 모르고있다. 나는이 게시물 ClassNotFoundException DispatcherServlet when launching Tomcat (Maven dependencies not copied to wtpwebapps)을 읽었고 같은 것을 보았다. '마커'창에서 빌드와 함께 나열된 문제. 나는 그것이 제안한 빠른 수정을 실행했고 모든 것이 다시 작동하고있다. 내가 말했던 것처럼, 나는 2,3 일 전에 그것을 만지지 않았다. 외관상으로는 다만 때때로 혼동된다. 6 시간 후에 .. 당신의 제안에 감사드립니다, 얘들 아.

1

변경

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

(그리고 아마도 봄 콩도)

+0

제안에 감사드립니다. 불행히도 아무런 차이가없는 것처럼 보입니다. 나는 변화를 만들었고, 앱을 깨끗하게 만들었고, 서버를 리 스타터했다. 같은 문제. – Bruce

+0

흠, 클래스 패스에 spring-tx jar의 다른 버전이 있습니까? –

+0

잘 모르겠습니다. Eclipse에서 실행중인 Tomcat 서버의 classpath를 어떻게 알 수 있습니까? 나는 WEB-INF/lib 내부에있는 단지를 사용할 것이라고 생각 했었고 거기에는 스프링 - 병 (spring-tx jar)이 하나 밖에 없습니까? – Bruce

4

는 :

아마 당신은 몇 가지 봄-XXX 의존성을 잊어 버렸습니다.

포 예, 받는다는 체크에 당신은 관련 의존성이있는 경우 :

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

감사를

관련 문제