Suse 系统下 Weblogic12C 安装整合部署html
关于Weblogic12的安装以及部署,请参照WebLogic安装手册.pdfjava
因为公司客户须要,如今须要移植现成的银行系统到weblogic上部署,发现原来在tomcat上好好的系统,一到了weblogic就彻底没呼吸了,弄了几天,问题解决web
接下来说解整合出现的问题spring
1. 关于项目部署出现Servlet response already usestream, Writer not possibleapi
更新Myfaces包到 1.2.12tomcat
步骤:删除项目中的myfaces-shared-impl-3.0.5.jar,myfaces-impl-1.2.5.jar, myfaces-api-1.2.5.jaroracle
解压myfaces-core-assembly-1.2.12-bin.zip,获取lib目录下全部jar包,替换项目中重复的jar包。app
Lib的jar包以下:jsp
commons-beanutils-1.8.3.jarspa
commons-codec-1.3.jar
commons-collections-3.2.jar
commons-digester-1.8.jar
commons-discovery-0.4.jar
commons-logging-1.1.1.jar
myfaces-api-1.2.12.jar
myfaces-impl-1.2.12.jar
2. 解决weblogic12与Myfaces1.2.12整合问题
若是直接把项目部署,会报错,这个错误就是weblogic对Myfaces报的错误
解决办法:
解压Weblogic12 安装目录下的war, 路径以下
/wlserver_12.1/common/deployable-libraries/jsf-1.2.war
进入war包里的WEB-INF,获得weblogic.xml,复制到本身的项目WEB-INF里去,和web.xml同级
weblogic.xml
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app">
<container-descriptor>
<prefer-application-packages>
<package-name>javax.faces.*</package-name>
<package-name>com.sun.faces.*</package-name>
<package-name>com.bea.faces.*</package-name>
</prefer-application-packages>
<prefer-application-resources>
<resource-name>javax.faces.*</resource-name>
<resource-name>com.sun.faces.*</resource-name>
<resource-name>com.bea.faces.*</resource-name> <resource-name>META-INF/services/javax.servlet.ServletContainerInitializer </resource-name>
</prefer-application-resources>
</container-descriptor>
</weblogic-web-app>
3. 解决Weblogic12C 下 与Hibernate3 的包冲突问题
项目部署正常,可是一调用hibernate查询就会报出org.hibernate.hql.ast.HqlToken异常
网上的解决办法都是基于weblogic10,因此不行,我对相关的包进行分析,发现位于modules/com.bea.core.antlr.runtime_2.7.7.0.jar 与 项目hibernate3须要的antlr-2.7.6.jar 发生冲突
解决办法: 在weblogic安装目录随意创建一个文件夹,/opt/Oracle/Middleware/test/,我这里创建了test文件夹,而后复制项目 中的antlr-2.7.6.jar到刚创建的文件夹下,这样路径/opt/Oracle/Middleware/test/下就有个jar包 antlr-2.7.6.jar
而后编辑${DOMAIN_HOME}/bin/startWebgoic.sh ,找到CLASSPATH这行,修改添加以下:
WEB_ANTLR="/opt/Oracle/Middleware/test/antlr-2.7.6.jar" (添加行)
CLASSPATH="${WEB_ANTLR}:${SAVE_CLASSPATH}" (修改这行)
4. 解决web.xml字符串匹配问题
出现spring 实例化bean类找不到问题,这是因为web.xml中用了匹配符
classpath:/applicationContext*.xml
解决方法是去掉匹配符,把要归入的xml文件所有写出来
classpath:/applicationContext-dao.xml,classpath:/applicationContext-hisdao.xml.............
5.解决标签重复引用问题
出现the page directive attribute "pageEncoding" may only be used once per
解决办法: A页面嵌套B页面,A页面<%@ pagelanguage="java" errorPage="/error.jsp" pageEncoding="GBK" contentType="text/html;charset=GBK"%>,子页面B也重复应用了pageEncoding="GBK".把子 页面B的pageEncoding="GBK"删掉就好了
关于Weblogic,因为它拥有它本身一套类加载器机制,因此和许多开源项目发生冲突,并且对页面和xml文件的审核很是严谨,标签的重用,xml文件的内容.