tomcat切换到weblogic注意事项
来源:互联网 发布:it培训课程 编辑:程序博客网 时间:2024/05/20 14:25
今天公司要求将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下面,就可以通过绝对路径来访问:
FileReader fr = new FileReader(Config.class.getResource("/").getPath() + "config.xml");在weblogic下面就只能这样访问:
InputStream in = Config.class.getResourceAsStream("/config.xml");
2、struts2多配置文件无法加载问题:
由于有多个struts文件,所以在主配文件里面进行了如下引入
<include file="struts/struts-*.xml" />
在tomcat里面正常,但是再weblogic里面就会报异常:unable to attain an URLClassLoader,Error loading configuration file struts.xml等,因为weblogic不支持通配符引入文件,所以在这里老老实实的奖引入文件都写入就行了
<include file="struts/struts-client.xml" /><include file="struts/struts-public.xml" />
3、hibernate异常问题ClassNotFoundException: org.hibernate.hql.ast.HqlToken:
weblogic和hibernate的antlr之冲突已经司空见惯了,该类问题网上已有很多解决办法,在此不重复了。
4、slf4j和log4j适配问题:
我的应用中使用了slf4j和log4j,并且也使用了slf4j-log4j12-1.6.1.jar进行适配,在tomcat下正常,在weblogic下面就只能打印log4j的日志,由此看来应该是weblogic的问题,网上查了下,得知由于weblogic是个企业级产品,所以集成了很多的jar包,这些jar包的默认加载顺序是大于应用里面lib中的jar包顺序的,此原因也直接导致了刚才说的hibernate的问题,所以现在需要解决的就是优先加载WEB-INF/lib下面的jar问题了。
在项目的WEB-INF目录下新建weblogic.xml,内容如下:
<?xml version="1.0" encoding="UTF-8"?> <wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd"> <!-- 为了解决slf4j和log4j的兼容问题,不然slf4j打印的日志就不出来了 --> <wls:container-descriptor> <wls:prefer-application-packages> <wls:package-name>org.slf4j</wls:package-name> </wls:prefer-application-packages> </wls:container-descriptor> <wls:container-descriptor> <wls:prefer-web-inf-classes>true</wls:prefer-web-inf-classes></wls:container-descriptor></wls:weblogic-web-app>
这样即解决了优先加载jar包以及slf4j的问题了。
4、java.lang.ClassCastException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast to org.apache.xerces.xni.parser.XMLParserConfiguration
删除weblogic自带的xerces相关jar包,使用项目自身的即可。
/home/weblogic/modules/com.bea.core.apache.xerces.resolver_2.8.2.jar
/home/weblogic/modules/org.apache.ant_1.7.1/lib/xercesImpl.jar
/home/weblogic/modules/com.bea.core.apache.xerces.xml-apis_2.8.2.jar
/home/weblogic/modules/com.bea.core.apache.xercesImpl_2.8.2.jar
- tomcat切换到weblogic注意事项
- 程序从weblogic迁移到tomcat时的注意事项
- tomcat开发的web项目部署到weblogic注意事项
- tomcat 项目迁移到weblogic
- spring+cxf+webservice 部署到weblogic注意事项
- Weblogic生产模式切换到开发模式
- weblogic注意事项
- Tomcat 下项目迁移到weblogic 10
- tomcat移植到weblogic的些许问题解决
- tomcat移植到weblogic下问题小结
- Tomcat 下项目迁移到weblogic 10
- Tomcat移植到webLogic问题及解决方法
- 项目框架从tomcat移植到weblogic
- Tomcat迁移到weblogic的几个问题
- tomcat迁移到weblogic的几个问题
- jenkins自动部署到tomcat/weblogic
- Retrofit1切换到Retrofit2的注意事项
- 部署Spring应用程序到Weblogic server 上的注意事项
- 泛型言简意赅
- sqlplus连接、登录命令大全(选择实例登录、连接远程数据库实例等等)
- Selemium IDE安装方法
- 使用HttpClient下载网络图片
- 修改注册表更改cookie目录
- tomcat切换到weblogic注意事项
- 我的GitHub,欢迎大家多给意见
- X86与X64
- 求几个人数和不及格人数
- 系统初始化,关闭MMU、CACHE
- hi3515 rtc驱动(ds1307/1339)驱动和示例
- oracle11g r2版本使用exp命令导出时不能导出空表问题
- 关于百度地图 BMap.InfoWindow 只显示最后一条信息解决方法
- win2003 删除WScript shell组件