tomcat 6的 struts2+hibernate3+spring2.5下的应用移植到weblogic10.3上,在运行
weblogic10.3时发现,原来在tomcat6运行妥妥的应用不好用了,在开发工具中发现抛异常:
org.springframework.orm.hibernate3.HibernateQueryException: ClassNotFoundException:
org.hibernate.hql.ast.HqlToken
原因: Hibernate3.0 采用新的基于ANTLR的HQL/SQL查询翻译器,在Hibernate的配置文件中,hibernate.query.factory_class属性用来选择查询翻译器。 (1)选择Hibernate3.0的查询翻译器: hibernate.query.factory_class= org.hibernate.hql.ast.ASTQueryTranslatorFactory (2)选择Hibernate2.1的查询翻译器 hibernate.query.factory_class= org.hibernate.hql.classic.ClassicQueryTranslatorFactory 为了使用3.0的批量更新和删除功能,只能选择(1)否则不能解释批量更新的语句,当使用的时候出现了不支持条件输入中文的情况。选择(2)可以支持输入中文,但没法解释批量更新语句了 在hibernate3中需要用到antlr,然而这个包在weblogic.jar中已经包含了antrl类库,就会产生一些类加载的错误,无法找到在war或者ear中的hibernate3.jar。 出现这个错误之后,antlr会调用System.exit(),这样weblogic就会中止服务。 解决方法一:是在hibernate.properties文件中增加属性:hibernate.query.factory_class,属性的值是org.hibernate.hql.classic.ClassicQueryTranslatorFactory,这样就可以解决问题了。
<!-- <prop key="hibernate.query.factory_class">org.hibernate.hql.ast.ASTQueryTranslatorFactory</prop> --><prop key="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</prop>但是部分功能会有问题,譬如 但本系在批量删除和更新会有问题,本系统不采用
解决方法二: 设置在“D:/bea/wlserver_10.3/server/lib/consoleapp/webapp/WEB-INF”下的weblogic.xml文件 weblogic8.0解决这个问题是改更weblogic.xml把一个属性更为true <container-descriptor> ... <prefer-web-inf-classes>true</prefer-web-inf-classes> ... </container-descriptor>
解决方法三: 设置我的目录“D:/bea/wlserver_10.3/server/lib”放入antlr-2.7.6.jar且在weblogic.jar前面 设置我的目录“D:/bea/user_projects/domains/base_domain/bin”下
我 按照上面的方法都不太可行
我的解决方法是:
问题就是jar包冲突hibernate3需要antlr-2.7.6.jar的支持,而在weblogic10.3我的安装目录
“D:/bea/modules”下有两个jar (com.bea.core.antlr_2.7.7.jar、com.bea.core.antlr.runtime_2.7.7.jar)和工程里的jar(antlr-2.7.6.jar)包冲突
将com.bea.core.antlr.runtime_2.7.7.jar删除,把antlr-2.7.6.jar 放到D:/bea/modules下
在web-inf之下建立weblogic.xml
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "weblogic810-web-jar.dtd"> <weblogic-web-app> <container-descriptor> <prefer-web-inf-classes>true</prefer-web-inf-classes> </container-descriptor> </weblogic-web-app>
setDomainEnv.cmd或startWebLogic.cmd文件打开找到set CLASSPATH上面加
set PRE_CLASSPATH=% DOMAIN_HOME%/lib/antlr-2.7.6.jar;
下而加set CLASSPATH=%PRE_CLASSPATH%;%SAVE_CLASSPATH%ATH%
分享到:
相关推荐
weblogic12 下最新 org.hibernate.hql.ast.HqlToken解决办法
Weblogic 10.3.6 2019年7月16日集成补丁包(p29633432_1036_Generic_20190716.zip),补丁名称:MXLE,下载文件中包含补丁安装说明和方法(自用详细步骤)。服务器打补丁前请注意做好备份,若与旧的补丁冲突,需卸载...
Weblogic Patch Set Update 10.3.6.0.211019
Oracle WebLogic Server 10.3.0.0下载 包括两个文件: server103_linux32.bin server103_win32.exe
公司需要,非得让安装个这么老版本的,全网找遍了找不到。没办法找客户要了一个。
2018年1月16号官网更新的漏洞补丁,供大家下载使用。后续会上传其他版本的
开发部署中间件weblogic下载,经实践试用,没有任何问题。 WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web...
weblogic 10.3.6.0.210119补丁
weblogic10 与hibernate冲突解决方案 错误如下:org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken linux windows 环境解决方案全解 Linux 启动脚本添加如下: export USER_...
CVE-2020-14882 Oracle WebLogic Server 10.3.6.0.0 / 12.1.3.0.0
公司需要,非得让安装个这么老版本的,全网找遍了找不到。没办法找客户要了一个。
2021 年 1 月 20 日,Oracle 发布了大量安全补丁,涉及旗下产品(Database Server、Weblogic Server、Java SE、MySQL等)多个漏洞。
例如:bsu.sh -install -patch_download_dir=/home/weblogic/Oracle/Middleware/utils/bsu/cache_dir -patchlist=8K1U -prod_dir=/home/weblogic/Oracle/Middleware/wlserver_10.3 -verbose 注意:如果打过以前补丁...
详细介绍weblogic在Linux suse上的安装流程,图文并茂,文档结构清楚
文件中有两个patch需要打,然后有测试工具和补丁教程可以参看
一、Weblogic服务程序设置: 1、设置JDK内存: 2、设置线程数: 3、Weblogic数据库连接池连接数设置: 4、Weblogic的服务设置[配置\优化]:
weblogic10.3 使用
Weblogic10.3安装和配置.doc
详细介绍weblogic 10.3的安装过程