关于weblogic在linux和windows下获取classes目录问题

问题描述:

weblogic版本为12.2.1.3

web项目部署在linux上正常,但是部署在windows却出现报错,提示找不到资源文件(.xml等配置文件),报空指针错误。

通过分析发现在linux下,web项目部署之后在weblogic的Server-0服务器下的tmp目录中,web-inf文件夹中是空的。

关于weblogic在linux和windows下获取classes目录问题

而在window是环境下,部署之后web-inf目录只有lib(项目依赖的jar)文件夹,其他的classes等文件夹没有,

关于weblogic在linux和windows下获取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