2011-07-06 13 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にあることがわかります。

誰でもお手伝いできますか?

ありがとうございます!

EDIT: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"> 

EDIT:わからないこれが関連しているが、私はマックブックプロ、およびJava 1.6に更新された最新のMacのアップデートに取り組んでいる、と私はちょうど切り替えた場合Javaの環境設定を1.6に上げる

EDIT:EDITを

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 

:私も、Tomcatのログに次のメッセージが出ていますが、私は前にそれを得ていたと私はそれが関係ないと思うが、念のためにと思います:申し訳ありません - あなたのコメントは見られませんでした。 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: ありがとう、クリスチャン。私はとにかく私のジャー内でそのファイルを持っていないので、それは、しかし、奇妙だ、と私は提供され、それをリスト行います

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

私はここで何かが欠けてると確信している。..

EDIT : うーん..今、TomcatはapplicationContextを見つけることさえできません。私の設定で変わったことが起こっていると思います。

+0

そのjarファイルは、サーブレットコンテナによって提供されなければならないので、サーブレットAPI-2.5.jarについてのメッセージが表示されます、すなわちアプリケーションではなくTomcatである。あなたのWEB-INF/libはそのファイルを含んではいけません。しかし、あなたのアプリをコンパイルするために必要になるかもしれません。 Mavenでは、servlet-api依存関係に '提供された'スコープを使用できます。 Tomcatはファイルをスキップして無視するだけなので、ファイルを保持することもできます。 –

+0

WEB-INF/libのディレクトリリストを追加してください。 –

+0

Gah。私はそれを修正しましたが、どうして本当にわかりません。私はこの記事を読む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)を読んで、私は同じことをしていました - 「マーカー」パネルにビルドされた問題。私はそれが示唆した迅速な修正を実行し、今はすべてが再び働いています。私が言ったように、私は数日前からそれに触れていなかった。どうやら、時々混乱するだけです。 6時間後に..あなたの提案、みんなありがとう。

1

変更

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

(そしておそらく春豆すぎ)

+0

ありがとうございました。残念ながら、それは違いがないようです。私は変更を加え、アプリケーションをきれいにし、サーバを再構築しました。同じ問題。 – Bruce

+0

ええと、classpathにspring-tx jarの他のバージョンがありますか? –

+0

わかりません。私がEclipseで実行しているTomcatサーバーのクラスパスはどうすればわかりますか?私はそれがWEB-INF/libの中のジャーを使うと思っていました。そこには唯一のspring-tx jarがありますか? – Bruce

4

今後の参照先:

多分spring-XXX依存関係を忘れたかもしれません。

ポル例、Mavenのチェックであなたは、関連する依存関係がある場合:

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

よろしく

関連する問題