您的位置:首页 > 编程语言 > Java开发

java.io.FileNotFoundException: class path resource [XXXXX.xml] cannot be opened

2014-07-28 13:13 696 查看
java.io.FileNotFoundException: class path resource [beans.xml] cannot be opened because it does not exit.

在用maven管理的spring项目中做单元测试时候,加载不了spring的配置文件。出现该问题的原因是,用maven创建的项目,必须把spring的配置文件beans.xml或者applicationContext.xml放到系统根目录下,做单元测试时候用

ApplicationContext applicationContext=new ClassPathXmlApplicationContext("beans.xml");
Girl girl=(Girl)applicationContext.getBean("girl");
才能正确加载spring的配置文件,才能正确获取bean。不知道这个定律在其他电脑的环境下是否适合,撸主在两台计算机上都是通过这种方式配好的。

maven项目的系统根目录默认是src/main/java和src/main/resources,而不是src,所以beans.xml文件必须放到src/main/java和src/main/resources下面的文件夹或者包中,否则就会报上面的错误:java.io.FileNotFoundException:
class path resource [beans.xml] cannot be opened because it does not exit.

还有一点,要注意的是,如果beans.xml不是直接放到了src/main/java和src/main/resources路径下,在读取beans文件时候,还要加上路径,如beans.xml放在了src/main/java/conf路径下,那么加载时候要这样写:

ApplicationContext applicationContext=new ClassPathXmlApplicationContext("conf/beans.xml");
否则就会报错:java.io.FileNotFoundException:
class path resource [beans.xml] cannot be opened because it does not exit.

而下面这种写法,是把beans.xml直接放到了src/main/java和src/main/resources路径下

ApplicationContext applicationContext=new ClassPathXmlApplicationContext("beans.xml");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  单元测试 Maven spring
相关文章推荐