10

シンプルな春のアプリケーションをセットアップしようとしていますが、以下の例外が発生しています。これは、Eclipse indigo でスタンドアロンで実行されています。

Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: Line 2 in XML document from class path resource [context.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.
org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.
      at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
      at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)
      at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)
      at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)

私のコードの最初の部分は次のとおりです。

public static void main(String[] args) {

        try {

            BeanFactory beanfactory = new ClassPathXmlApplicationContext(
                    "context.xml");


            FirstBean bean = (FirstBean) beanfactory.getBean("show");

これが私のcontext.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:aop="http://www.springframework.org/schema/aop"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="anotherBean" class="AnotherBean" />
<bean id="show" class="FirstBean">
<constructor-arg ref="anotherBean" />
</bean>
<bean id="populateFD" class="PopulateFactData">
<constructor-arg value="localhost" />
<constructor-arg value="3309" />
</bean>
</beans>
4

5 に答える 5

13

spring-beansクラスパスにあると確信していますか?

このエラーは通常、その名前空間が何を意味するかを説明するspring.schemas( にある) が見つからないことを意味します。spring-beans.jar

他のオプションは、Maven Shade プラグインが破損しているというものspring.schemasですが、Maven について言及していないため、そうである可能性は低いです。

于 2012-04-17T00:07:47.240 に答える
1

Maven シェード プラグインは、jar 内の spring.schemas ファイルを置き換えるように見えるため、各 jar のすべての個々の spring.schema コンテンツを使用して独自のファイルを作成すると、問題が解決するはずです。

于 2013-06-24T21:20:13.083 に答える
1

STSでこの問題が発生したとき、プロジェクトをきれいにしただけでうまくいきました。

于 2015-03-03T22:09:17.263 に答える
1

多分この投稿はあなたを助けることができます:

インターネット オフライン モードで要素 'beans' の宣言が見つかりません

スキーマ構成の問題のようです。

于 2012-04-16T23:23:52.960 に答える