349trob4ys 发表于 2016-3-4 13:51:25

Linux 下整合 weblogic12c+jsf1.2+Hibernate3

  
   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
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
页: [1]
查看完整版本: Linux 下整合 weblogic12c+jsf1.2+Hibernate3