本来不想写这东西,突然发现国人真是令人失望,网上七嘴八舌说了那么多关于“weblogic--配置文件路径错误--空指针异常--classes目录下为空”此类问题的解决,确发现没几个对得,真是担心更多人迷惘,写此篇,希望能解决大部分同行的烦恼。
在写好一个web项目后再tomcat都能完美运行,但是部署到 weblogic 上时各种各样的问题,今天只介绍:原工程下src目录下配置文件,在weblogic中找不到的情况。其他的慢慢添加。
部署到weblogic时,是打成war包的,这时src目录就已经消失了,至于classes目录在部署到weblogic中时经过解压的war包,classes目录下是空的,classes下的东西是被打包成 _wl_cls_gen.jar! , 包括配置文件都被压缩了,所以一般的寻找路径的方法,是看不到jar包里面的东西,解决方法如下:
把原来的找路径的话改成:
ClassLoader classloader =Thread.currentThread().getContextClassLoader(); //这句必须有,下面的几句自己看需求
InputStream is =classloader.getResourceAsStream("UserInfoZhyl.ini"); //这句是把配置文件直接读进来,括号里写的是配置文件的名字。
URL path =classloader.getResource("UserInfoZhyl.ini"); //这句就是获得配置文件的URL ,括号里写的是配置文件的名字。
String pathStr = path.toString(); //这句是把上面的URL转成字符串
写的这么详细,希望大部分人能看懂,关于weblogic的问题,我会在日后的文章里慢慢添加。