2012-04-16 168 views
9

私は単純なスプリングアプリケーションをセットアップしようとしていますが、私は以下の例外を取得しています。これは、日食インディゴで独立して実行されています。スプリングでエラーメッセージが表示される "cvc-elt.1:要素 'beans'の宣言が見つかりません。

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) 

ここに私のコードの最初の部分です:

<?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> 
+0

使用しているスプリングジャーのバージョンは? – beny23

答えて

12

クラスパスにspring-beansがありますか?

このエラーは、通常、その名前空間の意味を説明しているspring.schemas(これはspring-beans.jar)を見つけることができないことを意味します。

その他のオプションは、Maven Shadeプラグインがspring.schemasに壊れていることですが、Mavenについて言及していないため、そうは思わしくありません。

+0

これはjar/classpathの問題でした。私はチュートリアルに付属の小さな瓶セットを使用していました。 springsourceから完全なパッケージをダウンロードしてビルドパスにそれらのjarファイルを追加した後、エラーは消えました。 – opike

+0

@FauxFaux私はmavenと同じ問題のEclipseに直面しています。あなたは私を助けてくれますか... –

1

たぶんこの記事はあなたを助けることができる:

public static void main(String[] args) { 

     try { 

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


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

ここに私のcontext.xmlファイルだ

Cannot find the declaration of element 'beans' in internet offline mode

は、

それは、スキーマ設定の問題であるようです。

1

maven shade pluginはjarファイルのspring.schemasファイルを置き換えているようですので、jarファイルの個々のspring.schemaコンテンツをすべて自分自身で作成してください。

1

私はSTSでこの問題が発生しましたが、私はちょうどプロジェクトをきれいにしました。

+1

しかし、あなたはmavenを行うときに戻る - >プロジェクトを更新します。 –

1
関連する問題