今天公司要求将tomcat服务器切换到weblogic,折腾了一天,发现了一些必须注意的地方。
1、classes里面文件读取问题:
在tomcat里面,WAR包是被完全解压到webapps下面的,包括WEB-INF/classes下面的所有文件都被解压出来,意即可以通过绝对路径D:/tomcat/webapps/asd/WEB-INF/classes/config.xml来进行访问,但是再weblogic里面就不一样了。
在weblogic里面,如果是WAR包的方式部署,那么服务器同样会将内容解压到一个临时目录(/home/weblogic/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_user/wcity/v2s20e/war/),但是我们进去后会发现WEB-INF/classes里面空空如也,所以这个时候我们还想通过绝对路径来访问classes下面的文件的话就不可能了。
那么这里面的东西跑哪了呢?weblogic会将这类的东西打包成一个jar包,放在WEB-INF/lib/_wl_cls_gen.jar下面,所以我们要想再访问classes里面的文件,就必须采用读取jar包的方式来完成了。
举个例子,我在classes下面有一个config.xml文件,在tomcat下面,就可以通过绝对路径来访问: