配置文件途径文件(使用相对路径)

配置文件路径文件(使用相对路径)
配置文件途径文件(使用相对路径)
工程结构图如上,同目录的两个文件相互引用,用绝对路径以后肯定是要更改的,因此需要相对路径.
引用CubeName.mondrian.xml文件的绝对路径如下:
mondrian.test.connectString=Provider=mondrian;Jdbc=jdbc:odbc:MondrianFoodMart;Catalog=file:///D://eclipse//workspace//Ultra-InsideAnalysis//WebRoot//WEB-INF//conf//bomc_kqi.mondrian.xml

相对路径有时会找不到文件:
mondrian.test.connectString=Provider=mondrian;Jdbc=jdbc:odbc:MondrianFoodMart;Catalog=file:///bomc_kqi.mondrian.xml(同目录所以直接写名)
这样执行结果是文件找不到.

解决1:
用类路径+相对路径最保险:
当前类.class.getResource("/").toString()
返回D:/eclipse/workspace/Ultra-InsideAnalysis/WebRoot/WEB-INF/class/
处理下拼上Ultra-InsideAnalysis/WebRoot/WEB-INF/conf/CubeName.mondrian.xml就O了
解决2:
相对路径不可靠,是因为可能引用与被引用文件不在同一目录下(奇怪,看着是在同一目录下),
方法,找到相对的根路径
mondrian.test.connectString=Provider=mondrian;Jdbc=jdbc:oracle:thin:@192.168.5.235:1521:nms;JdbcDrivers=oracle.jdbc.driver.OracleDriver;JdbcUser=ultranms;JdbcPassword=ultranms;Catalog=../webapps/Ultra-InsideAnalysis/WEB-INF/conf/bomc_kqi.mondrian.xml
这样就可以了,两个文件都在webapps上一级路径下,找到这个相对点就能找到bomc_kqi.mondrian.xml文件了

方法2比方法1简单