Java 线程“main”org.springframework.beans.factory.BeanDefinitionStoreException 中的异常,而我正在做一个我弹簧的示例项目

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/19651080/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-12 19:09:42  来源:igfitidea点击:

Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException while I am doing a sample project I spring

javaspring

提问by Rose2815046

There is some error while I am doing a sample project in spring..the error is like this...Test.java, applicationContext.java,Student.java this files are in src folder....

我在 spring 中做一个示例项目时出现了一些错误..错误是这样的...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();
 }

}

回答by ran

your applicationContext.xml is not in class path like not in src(source) folder of project. place your applicationContext.xml in src folder. this will work

您的 applicationContext.xml 不在类路径中,就像不在项目的 src(source) 文件夹中一样。将您的 applicationContext.xml 放在 src 文件夹中。这会起作用

回答by Nat Kidder

With my Eclipse Java project, I fixed it by making the folder above the relative path a source folder.

对于我的 Eclipse Java 项目,我通过将相对路径上方的文件夹设为源文件夹来修复它。

回答by Snehal Masne

You gotta put it in resourcesdirectory of maven project. It will work.

你必须把它放在resourcesmaven项目的目录中。它会起作用。

回答by vijay m p

beans.xml inside "com/mypackage" (Ex: com\mypackage\beans.xml);

“com/mypackage”中的 beans.xml(例如:com\mypackage\beans.xml);

How I was using

我是如何使用的

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

There are three solutions:

有以下三种解决方案:

  1. Take the beans.xml out of package and put in default package name.
  1. 从包中取出 beans.xml 并输入默认包名称
ClassPathXmlApplicationContext( com/**default package name**/beans.xml);
  1. if you put bean.xml inside mypackage(Package that contains your java files).
  1. 如果你把 bean.xml 放在 mypackage(包含你的 java 文件的包)中。
ClassPathXmlApplicationContext("com/mypackage/beans.xml");
  1. We can put beans.xmlinside ProjectName\src
  1. 我们可以放在beans.xml里面ProjectName\src
ClassPathXmlApplicationContext("beans.xml")