项目配置文件(xml、properties)路径与classpath的关系
(2013-11-05 16:43:03)
用maven组织一个项目,中间碰到一个问题,搞了一下午得以解决。记载一下!
Dynamic Web Project项目:
(不整洁情况)我们一般会将配置的applicationContext.xml、struts.xml、还有些jdbc.properties等配置文件直接放置在src目录下,这样项目编译后,这些配置文件会部署到WEB-INFO/classes目录下,这样系统可以自动读取,不用人为指定路径了!so easy
(整洁情况)但是这样做有个明显的缺陷,我们的java文件和其他配置文件混杂在一起,相当不整洁!! 所以,我们往往会会自定义文件夹,比如在src目录下定义一个resources文件夹,放applicationContext.xml文件,这样做的话,我们就必须在web.xml中指定文件的位置(classpath:resources/applicationContext.xml),因为系统不能找到,你只能告诉系统。
Maven Project项目:
首先,maven项目天生就是整洁的(约定优于配置),src/main/java下的java文件和src/main/resources下定义的配置文件编译后会自动部署到classes目录下,所以不用对这些配置文件的路径进行指定,系统可以自己找的,当然你喜欢指定,系统不会反对。