ECM
ECM
总版主
总版主
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:652回复:0

关于applicationContext.xml cannot be opened because it does not exist的解决

楼主#
更多 发布于:2016-08-06 17:31
初学Spring在用Resource rs=new ClassPathResource("applicationContext.xml");时老是遇到这个错误。后来发现用


ApplicationContext ctx=new  FileSystemXmlApplicationContext("WebContent/WEB-INF/applicationContext.xml");可以解决这个问题。


仔细研究了下:


之所以我用ClassPathResource中找不到applicationContext.xml是因为我的这个xml文件在建工程的时候默认放在了WebContent/WEB-INF/下面,但是用ClassPathResource是在当前目录也就是我这个java文件所在的目下进行寻找。因此把这个xml文件移动到我的src目录下面就ok了。


同理如果是用ApplicationContext ctx=new  ClassPathXmlApplicationContext()也是这样是从当前路径寻找,xml文件应在当前目录下。


但是如果用FileSystemXmlApplicationContext呢,它是根据指定的路径来进行寻找,所以要把路径写完整。现在xml路径在src文件夹下。那就要写:ApplicationContext ctx=new  FileSystemXmlApplicationContext("src/applicationContext.xml");


这是比较直接简单的写法,后来又查了查发现对于FileSystemXmlApplicationContext也可以采用:


1.加上classpath:前缀(这个时候xml要放在当前目录也就是src下)


ApplicationContext ctx=new  FileSystemXmlApplicationContext("classpath:applicationContext.xml");


2.加上file:把路径写全(用这个方法xml可以放任意地方)


ApplicationContext ctx=new  ClassPathXmlApplicationContext("ApplicationContext ctx=new  ClassPathXmlApplicationContext("file:F:/workspace/SpringExercis/src/applicationContext.xml");


综上,最简单的方法还是老老实实把xml放在src下方便。

 

 

 

 

 

 

 

异常中心网是一家专门收集整理程序员编程过程中遇到的常见异常(exception)以及各种异常问答中心的网站。异常中心网旨在,减少程序员在编码遇到异常,处理各种异常时间和痛苦,让程序员能更愉快的、快速的定位异常并查找对应的异常解决方案。异常中心网诚心打造最完美的编程社区为程序员用户服务,努力成为最好的程序员乐园程序员社区程序异常中心程序bug中心异常问答中心

 

喜欢0 评分0
游客

返回顶部