博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于applicationContext.xml cannot be opened because it does not exist的解决
阅读量:5770 次
发布时间:2019-06-18

本文共 1080 字,大约阅读时间需要 3 分钟。

初学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下方便。

转载地址:http://nziux.baihongyu.com/

你可能感兴趣的文章
oracle 表空间查询
查看>>
笔记本系统恢复连载之五:方正笔记本系统恢复
查看>>
Java System.exit(0)
查看>>
RHEL Server5.6配置Nis域+Autofs+Nfs
查看>>
Servlet 的生命周期
查看>>
centos redmine
查看>>
webservice cxf与spring详解
查看>>
反码计算
查看>>
request.getRemoteAddr()取不到真实ip的解决办法
查看>>
在公司里得罪了人。
查看>>
制作openstack本地yum源
查看>>
centos7下安装MPlayer
查看>>
我的友情链接
查看>>
shell 微信报警脚本
查看>>
一个简单的拖放控件
查看>>
用JDTS连接MS SQLServer数据库
查看>>
[转]面试时,你会问面试官哪些问题?
查看>>
\r \n有什么区别
查看>>
企业级邮箱让公司更正规化
查看>>
在linux系统中如何查看某个软件是否安装
查看>>