在web项目中读取classes下的配置文件,使用的是getClassLoader().getResourceAsStream的方法如下:
String syncFileDir = "sync";
String ruleFile = "SyncRule.xml";
RuleLoader.class.getClassLoader().getResourceAsStream(syncFileDir+File.separator+ruleFile)
在tomcat下部署运行使用正常,可读取对应的配置文件,打印出来的文件路径为(eclipse中启动):
file:/D:/sbr/source/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/isdbs-web/WEB-INF/classes/sync/SyncRule.xml
但是在WebLogic下启动会找不到相应的配置文件,经过排查是代码中File.separtor的问题,都是在Windows环境下。
解决办法:
File.separator在Windows环境中得到的的是"\" ;将此分隔符改为"/"在WebLogic下即可正常使用。