Tomcat:v6
Spring Tools Suite:v2.7.2
Spring Framework:spring-webmvc-3.0.5
<?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:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/mvc/spring-mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<mvc:annotation-driven />
<mvc:resources mapping="/resources/**" location="/resources" />
<context:component-scan base-package="com.app.mvc" />
</beans>
<servlet-mapping>
<servlet-name>duckapp</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
web.xmlは、静的ファイルをマッピングするmvc:resourcesを除き、すべてのURLをサーブレットにマッピングします。
cvc-complex-type.2.4.c:一致するワイルドカードは厳密ですが、要素「mvc:annotation-driven」の宣言は見つかりません。 app-servlet.xml/app/www/WEB-INF
cvc-complex-type.2.4.c:一致するワイルドカードは厳密ですが、要素「mvc:resources」の宣言は見つかりません。 app-servlet.xml/app/www/WEB-INF
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd には要素リソースが含まれていません
http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd に置き換えられた場合、まだ動作せず、Spring 3.05のjarファイルに従って動作しない可能性があります
mvc:resourcesは春v3.0.4で登場しましたが、新しいxsdはありません
コンパイルエラーを修正してmvc:resourcesを正しく機能させるにはどうすればよいですか?
私はこれのために約2時間掘りましたが、まだ確固たる答えはありません...
Springコンテキストでは、xml mvc名前空間のURLはschemaLocationのURLと一致する必要があります。このようなもの:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
これは標準のXML名前空間宣言です。名前空間urlは一意のIDの一種であり、xsi:schemaLocationの実際のスキーマの場所にマップされます。
Spring名前空間のURLを使用するとき、私は通常バージョン情報を使用しません。これはほとんどの場合うまく機能します。名前空間のURLを試してみたいかもしれません
http://www.springframework.org/schema/mvc/spring-mvc.xsd
の代わりに
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
同じエラーが発生していました。原因は、Maven依存関係spring -webmvcの欠落です。以下の依存関係を含めて、動作を開始しました。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
SchemaLocationマッピングが間違っていると思います。名前空間は次のように指定されます。
xmlns:mvc="http://www.springframework.org/schema/mvc"
これは正しいと思いますが、schemaLocationには
http://www.springframework.org/schema/mvc/spring-mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
したがって、schemaLocationマッピングの最初の行をmvc名前空間に変更すると、正常に機能するはずです。
私はudemyのスプリングコースに登録しました。私は私のインストラクターが私に行うように示したすべてのステップに従いました。したがって、spring mvcとhibernateを使用している場合、スキーマドキュメントの読み取りに失敗しました ' http://www.springframework.org/schema/tx/spring-tx.xsd 'などにこのエラーが発生することがあります
<mvc:annotation-driven/> and <tx:annotation-driven transaction-manager="myTransactionManager" /> elements
私の春の設定ファイルには、これらの2つのURLがありました
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
で置き換えたxsi:schemaLocation
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.2.xsd
実際に私はこれらの2つのサイトを訪れました http://www.springframework.org/schema/mvc/ および http://www.springframework.org/schema/tx/ spring-mvcおよびspring-txの最新バージョン、すなわちspring-mvc-4.2.xsdおよびspring-tx-4.2.xsdを追加したばかりです。
だから、私の意見では、バージョンを明示的に指定しないことは良い習慣です。それは私のために働いた、これもあなたのために働くことを願っています。ありがとうございました。