|
Weblogic12C,目前可以支持JSF1.2以及JSF2.0,Weblogic10只支持JSF1.2
1.第一步解决weblogic12与jsf1.2整合问题
如果直接把项目部署,会报错,这个错误就是weblogic对jsf报的错误
解决办法:
解压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>
2. 解决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}" (修改这行)
OK,项目大功告成!
这几天弄的weblogic发现不同版本对于hibernate的不同版本,一定要有不同解决办法
本实验项目配置是: weblogic12c, jsf1.2, richfaces 3.2, hibernate 3.2.5.ga, suse 11
|
|
|