3

私はSpringで手を濡らし、SpringとともにEclipseを使用しています。Bean にプロパティを注入するために、Eclipse を使用して非常に単純な Spring アプリケーションを作成しました。ただし、アプリケーションを実行しているときに、Spring が例外をスローし、Spring が Spring 構成ファイルを見つけられないようです。以下はスタックトレースです -

INFO: Loading XML bean definitions from class path resource [Beans.xml]
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [Beans.xml]; nested exception is java.io.FileNotFoundException: class path resource [Beans.xml] cannot be opened because it does not exist
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:341)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)

私は次のことを試しました -- ClassPathXmlApplicationContext メソッドにフルパスを指定してください --

ApplicationContext context = new ClassPathXmlApplicationContext("C:/Users/devshankhasharm/workspace/FinalPowerShell/src/src/main/Beans.xml");

また、Windows の ClassPath 変数を更新して、Spring 構成ファイルのパスを追加しました。しかし、何も機能しませんでした。どんなアイデアでも大歓迎です。

4

5 に答える 5

8

これを試して

ApplicationContext context = new ClassPathXmlApplicationContext("classpath*:Beans.xml");

もちろんBeans.xml、クラスパスにある必要があります。

更新するか、多分

ApplicationContext context = new ClassPathXmlApplicationContext("file:src/main/Beans.xml");
于 2012-10-12T12:48:33.897 に答える
1

Beans.xml はクラスパスにある必要があります。ClassPathXmlApplicationContext の xml ファイルの完全な物理パスを指定することはできません。Eclipse のビルド パスに Beans.xml があるかどうかを確認してください。

于 2012-10-12T12:47:59.547 に答える
0

Spring Tool Suite (STS) を使用している場合、Maven プロジェクトを作成するときに src/main/resources ディレクトリが "Excluded: . " で構成されている可能性があります。つまり、STS は src/main/resources ディレクトリを設定して、そのすべての内容をデフォルトで出力から除外します。

修正方法:

  1. プロジェクトのプロパティ (Alt+Enter) -> Java ビルド パス -> ソース
  2. src/main/resources に、「Excluded: .」と表示される場合があります。
  3. この項目を選択し、[編集...] をクリックします。
  4. を取り外します除外パターン
  5. [OK] をクリックします。出来上がり!
于 2013-10-11T16:23:28.807 に答える
0

それほど面倒でない場合は、Spring Tool Suiteを使用してみてください。これは Eclipse ベースの Spring フレンドリーな IDE であるため、Spring/Maven プラグイン構成に依存する必要はありません。Java プロジェクトの代わりに Spring プロジェクトを作成するだけで、あとはすべての設定が処理されます。

于 2012-10-12T13:04:08.827 に答える
0

Beans.xml の例に完全なファイルパスを使用しているため、次を使用します。

ApplicationContext context = new GenericXmlApplicationContext("C:/Users/devshankhasharm/workspace/FinalPowerShell/src/src/main/Beans.xml");

ただし、これを行うことはお勧めしません。代わりに ClassPathXmlApplicationContext を使用してください。

次に、Beans.xml をクラスパスに移動します。これを行う最も簡単な方法は、Maven を使用していない場合は Java ソースのルートに、Maven を使用している場合は src/main/resources に移動することです。

于 2012-10-12T12:59:01.817 に答える