关于weblogic在linux和windows下获取classes目录问题
问题描述:
weblogic版本为12.2.1.3
web项目部署在linux上正常,但是部署在windows却出现报错,提示找不到资源文件(.xml等配置文件),报空指针错误。
通过分析发现在linux下,web项目部署之后在weblogic的Server-0服务器下的tmp目录中,web-inf文件夹中是空的。
而在window是环境下,部署之后web-inf目录只有lib(项目依赖的jar)文件夹,其他的classes等文件夹没有,
这就造成了代码里通过******.class.getResource("*****.class")获取的class路径为weblogic的tmp目录,然后通过该地址去获取配置文件时提示找不到相应的文件(web-inf中没有classes目录)
解决方法:
通过上述分析可以发现,这个方法获取class的路径是不通用的。
因此要获取class目录通用的方法是:
×××.class.getClassLoader().getResource(relativePath);
其中×××为相应的类,relativePath为配置文件的相对路径(相对于classes目录)
转载于:https://my.oschina.net/research/blog/1806157