2

春にサンプルプロジェクトを実行しているときにエラーが発生しました..エラーは次のようなものです.Test.java、applicationContext.java、Student.javaこのファイルはsrcフォルダにあります....

Oct 29, 2013 11:37:15 AM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@e458c2: startup date [Tue Oct 29 11:37:15 IST 2013]; root of context hierarchy
Oct 29, 2013 11:37:15 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [applicationContext.xml]
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [applicationContext.xml]; nested exception is java.io.FileNotFoundException: class path resource [applicationContext.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)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:243)
    at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:127)
    at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:93)
    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:131)
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:522)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:436)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
    at springapplication.Main.main(Main.java:13)
Caused by: java.io.FileNotFoundException: class path resource [applicationContext.xml] cannot be opened because it does not exist
    at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:158)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:328)
    ... 13 more
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second).......
       My code is this...
       Test.java

import org.springframework.beans.factory.BeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.beans.factory.xml.XmlBeanFactory;
public class Test {
public static void main(String[] args){
    Resource resource=new ClassPathResource("applicationConteXt.xml");
    BeanFactory factory=new XmlBeanFactory(resource);
    Student student=(Student)factory.getBean("studentbean");
    student.displayinfo();
 }

}
4

4 に答える 4

4

resourcesMaven プロジェクトのディレクトリに配置する必要があります。それが動作します。

于 2014-10-30T10:40:52.523 に答える
1

「com/mypackage」内の beans.xml (例: com\mypackage\beans.xml);

使っていた様子

ClassPathXmlApplicationContext("beans.xml"); ----> ERROR.

次の 3 つの解決策があります。

  1. beans.xml をパッケージから取り出し、デフォルトのパッケージ名に入れます。
ClassPathXmlApplicationContext( com/**default package name**/beans.xml);
  1. bean.xml を mypackage (Java ファイルを含むパッケージ) 内に配置した場合。
ClassPathXmlApplicationContext("com/mypackage/beans.xml");
  1. beans.xml中に入れることができますProjectName\src
ClassPathXmlApplicationContext("beans.xml")
于 2015-05-12T13:44:42.263 に答える
1

私のEclipse Javaプロジェクトでは、相対パスの上のフォルダーをソースフォルダーにすることで修正しました。

于 2014-10-29T00:55:33.507 に答える