Tomcat迁移到WebLogic 11g部署项目注意事项
2017-03-28 18:19
453 查看
最近将web项目从tomcat中迁移到weblogic中产生了很多问题,特此记录一下:
Tomcat 迁移到 WebLogic 11g部署项目注意事项
==============================
1.不要依赖容器特有类库
现象:interface接口中使用了org.apache.catalina.tribes.util.Arrays.equals(byte[],byte[]) API,导致在weblogic中运行时报错。抛出异常,异常信息为:null.
原因:catalina为apache tomcat项目名,即包org.apache.catalina下的API都为tomcat环境下的类库,weblogic
lib下不含有此类库,导致出现异常。
方案:项目编译时不要依赖web容器中的类库,以便于项目可以跨web容器
2.在WEB-INF下增加weblogic.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic--web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic-810-web-jar.dtd">
<weblogic-web-app>
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
</weblogic-web-app>
原因:上述xml文件可以使得WebLogic优先加载项目web-inf下的jar包,防止WebLogic加载自身的jar包导致版本冲突。
3./WEB-INF/lib需要删除xml-apis-1.0.b2.jar
现象:出现
weblogic.xml.jaxp.RegistrySAXParserFactory cannot be cast to javax.xml.parsers.SAXParserFactory
错误
原因:weblogic使用jdk自带的javax.xml.parsers.SAXParserFactory接口来解析配置,项目中的xml-apis-x.jar中也有这个接口,根据上述的weblogic.xml中的配置,首选加载xml-apis-x中的接口,由于加载两者的classLoader不同,所以无法转换。
4.在web.xml中将servlet版本改为2.5
原因:weblogic 11g不支持servlet3.0及以上的版本。只兼容servlet及以下版本。
Tomcat 迁移到 WebLogic 11g部署项目注意事项
==============================
1.不要依赖容器特有类库
现象:interface接口中使用了org.apache.catalina.tribes.util.Arrays.equals(byte[],byte[]) API,导致在weblogic中运行时报错。抛出异常,异常信息为:null.
原因:catalina为apache tomcat项目名,即包org.apache.catalina下的API都为tomcat环境下的类库,weblogic
lib下不含有此类库,导致出现异常。
方案:项目编译时不要依赖web容器中的类库,以便于项目可以跨web容器
2.在WEB-INF下增加weblogic.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic--web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic-810-web-jar.dtd">
<weblogic-web-app>
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
</weblogic-web-app>
原因:上述xml文件可以使得WebLogic优先加载项目web-inf下的jar包,防止WebLogic加载自身的jar包导致版本冲突。
3./WEB-INF/lib需要删除xml-apis-1.0.b2.jar
现象:出现
weblogic.xml.jaxp.RegistrySAXParserFactory cannot be cast to javax.xml.parsers.SAXParserFactory
错误
原因:weblogic使用jdk自带的javax.xml.parsers.SAXParserFactory接口来解析配置,项目中的xml-apis-x.jar中也有这个接口,根据上述的weblogic.xml中的配置,首选加载xml-apis-x中的接口,由于加载两者的classLoader不同,所以无法转换。
4.在web.xml中将servlet版本改为2.5
原因:weblogic 11g不支持servlet3.0及以上的版本。只兼容servlet及以下版本。
相关文章推荐
- Tomcat上的项目部署到WebLogic上の注意事项
- tomcat开发的web项目部署到weblogic注意事项
- myeclipse中的web项目导入到eclipse中注意事项,项目部署到tomcat后无法访问jsp文件
- 在linux下用tomcat部署java web项目的过程与注意事项
- Windows Server 2003 部署tomcat项目的注意事项
- 在linux下用tomcat部署java web项目的过程与注意事项 一.安装JDK 到http://www.oracle.com/technetwork/java/javase/downloads
- 在linux下用tomcat部署java web项目的过程与注意事项(转)
- 在linux下用tomcat部署java web项目的过程与注意事项
- 在linux下用tomcat部署java web项目的过程与注意事项
- dubbo分布式项目tomcat部署注意事项
- 在linux下用tomcat部署java web项目的过程与注意事项
- ssh项目部署到weblogic注意事项
- 在linux下用tomcat部署java web项目的过程与注意事项
- Spring boot项目部署到Tomcat注意事项
- 在linux下用tomcat部署java web项目的过程与注意事项(原创)
- 在linux下用tomcat部署java web项目的过程与注意事项
- 在linux下用tomcat部署java web项目的过程与注意事项
- 在linux下用tomcat部署java web项目的过程与注意事项(转)
- 在linux下用tomcat部署java web项目的过程与注意事项
- 在linux下用tomcat部署java web项目的过程与注意事项