`

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics