28

次のエラーが発生していました

<Ignored XML validation warning> org.xml.sax.SAXParseException; lineNumber: 9; columnNumber: 55;
SchemaLocation: schemaLocation value = 'http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/tx' must have even number of URI's.

私のディスパッチャーサーブレットには次の名前空間がありました

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">  

そして、上記のすべてを次のように置き換えました

<beans xmlns="http://www.springframework.org/schema/beans"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://www.springframework.org/schema/beans
              http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">  

そして、私のエラーは消えました。
それはどのように起こったのか、誰にもわかりますか??

4

2 に答える 2

69

このschemaLocation属性は、名前空間の XML スキーマ ドキュメントを参照します。

基本的に、次のように入力します。

xmlns:expns="http://www.example.com"
xsi:schemaLocation="http://www.example.com
                    http://www.example.com/schema/example.xsd"

名前空間 の要素に接頭辞を使用します。また、これらの要素を検証できるように、 XSD スキーマ ファイルを取得します expns http://www.example.com http://www.example.com http://www.example.com/schema/example.xsd

つまり、フォーマットは次のようになります。

xsi:schemaLocation="namespace-a   where_to_get_the_xsd_for_namespace-a
                    namespace-b   where_to_get_the_xsd_for_namespace-b
                    namespace-c   where_to_get_the_xsd_for_namespace-c"

等々。

だから偶数でなければならない。


詳細と例については、こちらを参照してください。

于 2013-05-23T17:57:27.250 に答える
1

@acdcjunior の説明は正しく、OP の問題を解決するには、欠落している名前空間 p の schemaLocation を追加する必要があります

<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:p="http://www.springframework.org/schema/p"
   xmlns:aop="http://www.springframework.org/schema/aop"
   xmlns:tx="http://www.springframework.org/schema/tx"
   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/p http://www.springframework.org/schema/xx-xx.xsd
   http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
   http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">

さらに、この警告は、名前空間定義と schemaLocation 定義の順序が異なる場合にも発生します

于 2021-04-03T07:35:55.233 に答える