nested exception is java.io.FileNotFoundException: class path resource [spring/spring-datasource-mog
来源:互联网 发布:java的web服务器 编辑:程序博客网 时间:2024/06/14 22:21
spring单元测试时发现的问题:
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [spring/spring-datasource-mogon.xml]; nested exception is java.io.FileNotFoundException: class path resource [spring/spring-datasource-mogon.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:130)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:537)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:451)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at com.test.db.mongo.test.MongoTest.setUp(MongoTest.java:32)
at junit.framework.TestCase.runBare(TestCase.java:125)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.io.FileNotFoundException: class path resource [spring/spring-datasource-mogon.xml] cannot be opened because it does not exist
at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:157)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:328)
... 26 morez
加载配置文件的代码如下:
ApplicationContext context = new ClassPathXmlApplicationContext("spring/spring-datasource-mogon.xml");
之前在写单元测试时也遇到过类似的问题,查询、核对代码和加载方式都没有问题,就是报错找不到文件,百思不得其解,一直以为是和环境相关。
今天在调试mongo时,终于找到问题所在了
出现问题的情况:只要更新过、刷新过工程,就会报如上错误;
解决办法:
1. 新建一个内容相同,名字不同的配置文件;例如,将配置文件/spring-datasource-mogon.xml的名字修改为/spring-datasource-mogon-1.xm
2. 修改代码的加载配置文件为:ApplicationContext context = new ClassPathXmlApplicationContext("spring/spring-datasource-mogon-1.xml");
3. 调试,发现没有上述问题了。
问题总结:
1. 更新工程后,单元测试加载的工程也会刷新,刷新的时候配置文件从工程环境中删掉了。
2. 修改名字,相当于添加了一个新的文件,这时工程环境中会跟着同步。
3. 因此程序在加载新文件时可以找到,老的找不到。
4. 单元测试加载的配置文件的路径没有找到,如果找到了可以直接将老配置文件添加到其中
5. 遗留问题: 问什么刷新工程时,会将配置文件全部清空;这个如何避免
6. 工程的编辑存放路径和工程运行环境路径的区别是什么,工程运行环境路径是什么。
- nested exception is java.io.FileNotFoundException: class path resource [spring/spring-datasource-mog
- java cxf nested exception is java.io.FileNotFoundException: class path resource [META-INF/cxf/cxf-ex
- class path resource [applicationContext.xml]; nested exception is java.io.FileNotFoundException: cla
- nested exception is java.io.FileNotFoundException: class path resource [applicationContext.xml] cann
- Invocation of init method failed; nested exception is java.io.FileNotFoundException: class path reso
- java.io.FileNotFoundException: class path resource [spring.xml] cannot be opened because it does not
- [SSM/Junit]java.io.FileNotFoundException: class path resource [spring-mybatis.xml] cannot be opened
- 异常解决 java.io.FileNotFoundException: class path resource [spring/springmvc.xml]
- 异常解决 java.io.FileNotFoundException: class path resource [spring/applicationContext_*.xml]
- java.io.FileNotFoundException: class path resource [spring/ApplicationCont.xml] cannot be opened be
- 异常解决 java.io.FileNotFoundException: class path resource [spring/applicationContext_*.xml]
- java.io.FileNotFoundException: class path resource [templates/] spring-cloud-netflix-eureka-server
- nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/
- nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/
- nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/jdbc.pro
- 【Bug解决】Spring配置错误:java.io.FileNotFoundException: class path resource [cxd/entity/User.hbm.xml] canno
- Fault - ; nested exception is: java.io.FileNotFoundException: D:\tomcat7\webapps\axis\WEB-INF\jwsC
- nested exception is java.io.FileNotFoundException: config.xml (系统找不到指定的文件。)
- Android studio 删除Recent project(最近项目)的方法
- Linux启动过程
- android v7 RecylerView
- 爱加密Android APk 原理解析
- GDB(二) 内存布局
- nested exception is java.io.FileNotFoundException: class path resource [spring/spring-datasource-mog
- java高分局之JVM命令参数大全(高级运行时选项)
- 二叉树
- Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法
- MYSQL建用户,建库,建表,授权
- U盟微信分享
- 在Java中调用Python
- 以Android Library的方式使用<工程> for <Vitamio >
- POJ 1007