Spring的配置文件找不到

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring的配置文件找不到相关的知识,希望对你有一定的参考价值。

我用MyEclipse做了一个Java project的项目导入了spring的支持,配置文件是applicationContext.xml,
测试代码是:
public static void main(String[] args)
// TODO Auto-generated method stub
Resource rs=new FileSystemResource("applicationContext.xml");
BeanFactory factory=new XmlBeanFactory(rs);
HelloBean hello=(HelloBean)factory.getBean("helloBean");
System.out.println(hello.getHelloWord());

报错为:
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from file [E:\MyEclipse workspace\FirstSpring\applicationContext.xml]; nested exception is java.io.FileNotFoundException: applicationContext.xml (系统找不到指定的文件。)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:349)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
at org.springframework.beans.factory.xml.XmlBeanFactory.<init>(XmlBeanFactory.java:73)
at org.springframework.beans.factory.xml.XmlBeanFactory.<init>(XmlBeanFactory.java:61)
at com.handson.TestSpring.main(TestSpring.java:16)
Caused by: java.io.FileNotFoundException: applicationContext.xml (系统找不到指定的文件。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at org.springframework.core.io.FileSystemResource.getInputStream(FileSystemResource.java:108)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)
... 4 more
望各位高手帮帮忙

参考技术A 你在applicationContext.xml里写那个<bean id="helloBean" class="类名"></bean>了吗?“BeanDefinitionStoreException”好像是没有这个BEAN。还有,Resource rs=new FileSystemResource("applicationContext.xml")错了,()里要写applicationContext.xml的绝对路径,这就是报FileNotFoundException的原因。 参考技术B new FileSystemResource("applicationContext.xml"); 这里写上你xml的绝对路径。比如new FileSystemResource("E:/applicationContext.xml");本回答被提问者采纳 参考技术C 路径

maven创建web工程Spring配置文件找不到问题解决方案

使用maven创建web工程,将Spring配置文件applicationContext.xml放在src/resource下,用eclipse编译时提示class path resource [applicationContext.xml] cannot be opened because it does not exist错误。但是用mvn clean package命令编译时成功的。web.xml配置的如下

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>

用google搜索一下(之前google用不了,用百度搜到蛋疼),发现是由于classpath不是指向resource路径,导致一直找不到文件。需要在classpath后面加个*,这样就解决问题了。

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext.xml</param-value>
</context-param>

以上是关于Spring的配置文件找不到的主要内容,如果未能解决你的问题,请参考以下文章

Spring 确实存在时找不到 bean xml 配置文件

Spring由于web配置导致的spring配置文件找不到的问题的解决方案

maven创建web工程Spring配置文件找不到问题解决方案

SpringBoot - 制作 jar 文件 - 在 META-INF/spring.factories 中找不到自动配置类

SSH问题:系统启动时,spring配置文件解析失败,报”cvc-elt.1: 找不到元素 'beans' 的声明“异常

Eclipse Maven项目报错3之找不到配置文件spring-servlet-context.xml