首页 产业 观察 点评 展会 新品 厂商 区块链 客户端
中国IT产经新闻 / 智能家电
Filesystemxmlapplicationcontex中path取的绝对路径
编辑:IT产经
2020-08-18
来源:

       FileSystemXmlApplicationContex和ClassPathXmlApplicationContext路径问题:在码代码的时候发现使用这两个方法写路径的时候总是存在问题,所以百度了一下解决了这个问题。
ApplicationContext ac = new FileSystemXmlApplicationContext(path);


       path取的是绝对路径,通过"ClassName.class.getResource("/").getPath()"的形式取得,在windows下面是类似:/C:/test.xml,在linux的值是/etc/tomcat/webapps/WEB-INFO/test.xml 该表达式在windows下面能够正常使用的,但是在linux下面的时候该表达式会发生文件找不到的异常 但是,path的路径是对的,原因好像是把path当作了相对路径来处理了,然后会在path前面加上一段路径。
        关于FileSystemXmlApplicationContext这个路径有2种写法:有盘符的代表绝对路径D:/wokespace/spring/WebRoot/WEB-INF/classes/xxx.xml。没有盘符的代表的项目的根路径。比如放在Webroot的WEB-INF下面,路径可以写成"/WebRoot/WEB-INF/xxx.xml"如果想要在FileSystemXmlApplicationContext读取classpath下面的文件,可以写成/WebRoot/WEB-INF/classes/xxx.xml,也可以写成classpath:xxx.xml,classpath代表的路径就是:/WebRoot/WEB-INF/classes/。
        关于ClassPathXmlApplicationContext这个路径默认的是读取workspace下面的classes文件夹下的文件,可以在前面加上classpath:当然不加也是没问题的。这个classes文件夹默认在myeclipse中是不显示的,如果想显示classes文件夹,可以右键WEB-INF ->show in->package explorer,然后在package explorer目录下继续选着WEB-INF文件夹,右键->show in ->navigator,新出来的目录中就显示classes文件夹了。当然也可以用绝对路径来表示:        D:/wokespace/spring/WebRoot/WEB-INF/classes/xxx.xml。在偶然一次中发现也可以用file:WebRoot/WEB-INF/classes/xxx.xml也可以读取到相关的文件,但是去掉file:就报IO异常,具体什么情况不是很清楚,也是这节中的一个小疑问,等以后有时间了来解决。

0
网友评论[查看全部] 评论总数:0
    
    验证码:    
IT大杂汇 更多
IT产经新闻
点评(0)
更新时间:2020-08-13
热点聚焦更多
厂商动态更多
展会聚焦 更多
产业报告更多
网红经济更多
  • CopyRight @ 2008-2020 中国IT产经新闻网 All Right Reserved 违者必究 京备05618372