`

weblogic10.3 org.hibernate.hql.ast.HqlToken报错问题

阅读更多
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 12部署应用程序时,可能会遇到与`org.hibernate.hql.ast.HqlToken`相关的异常问题。这种异常通常与Hibernate版本之间的不兼容性有关,特别是在不同Hibernate版本依赖同一个类库的不同版本时更为常见...

    Oracle WebLogic Server 10.3.0.0下载.txt

    Oracle WebLogic Server 10.3.0.0下载 包括两个文件: server103_linux32.bin server103_win32.exe

    Weblogic10.3.6.0补丁包(含补丁安装说明).zip

    Weblogic 10.3.6 2019年7月16日集成补丁包(p29633432_1036_Generic_20190716.zip),补丁名称:MXLE,下载文件中包含补丁安装说明和方法(自用详细步骤)。服务器打补丁前请注意做好备份,若与旧的补丁冲突,需卸载...

    WebLogic patch10.3.6.0.180116

    "WebLogic patch10.3.6.0.180116" 是针对WebLogic Server 10.3.6.0版本的一个重要安全更新,发布于2018年1月16日。这个补丁主要目的是修复该版本中发现的安全漏洞,以保护用户的系统免受潜在攻击。 WebLogic服务器...

    WEBLOGIC 10.3.6.0.210119 - 2021年1月补丁

    “WEBLOGIC SAMPLES SPU 10.3.6.0.210119 (Patch)”可能包含了一系列示例应用程序和特殊补丁更新单元(Special Patch Update, SPU),SPU是Oracle提供的一种快速修复机制,用于解决特定问题而无需完整升级。...

    weblogic 11g补丁2021年10月(10.3.6.0.211019.rar)

    2021年10月发布的WebLogic 10.3.6.0.211019补丁集是针对这个版本的一次重要更新,旨在提升系统性能、增强安全性并修复已知问题。 补丁集更新(Patch Set Update, PSU)是Oracle针对其产品提供的常规维护更新,包含...

    weblogic10.3 使用

    org.springframework.orm.hibernate3.HibernateQueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken[from com.xaccp.pojo.Loginfo]; nested exception is org.hibernate.QueryException: ...

    weblogic 10.3.6.0 210119.rar

    WebLogic Server 10.3.6.0 是 Oracle 公司提供的一个企业级 Java 应用服务器,它主要用于构建、部署和管理基于Java EE(Java Platform, Enterprise Edition)的应用程序。这个版本发布于2011年,是WebLogic Server ...

    weblogic10.3性能优化参数配置

    Weblogic 10.3 性能优化参数配置 Weblogic 服务器是 Oracle 公司推出的一个基于 Java 的中间件服务器,广泛应用于企业级应用系统中。为了确保 Weblogic 服务器的高性能和稳定运行,需要对其进行合理的配置和优化。...

    weblogic Weblogic WLS组件漏洞处置 补丁10.3.6.0.0升级10.3.6.0.12

    补丁10.3.6.0.0升级到1.0.3.6.0.12是为了修复特定的安全问题,提高系统安全性。 描述中提到的“有两个patch需要打”,在IT领域中,"patch"通常指软件更新或补丁,用于修复程序中的错误或安全漏洞。在这个情况下,你...

    Oracle weblogic10.3.1.0.0集群配置手册

    《Oracle WebLogic 10.3.1.0.0 集群配置手册》是针对Oracle公司的WebLogic Server的一款详细指南,旨在帮助用户理解和配置WebLogic Server的集群环境,以实现高可用性和负载均衡。Oracle WebLogic Server是一款强大...

    CVE-2020-14882 Oracle WebLogic Server 10.3.6.0.0 / 12.1.3.0.0

    CVE-2020-14882 Oracle WebLogic Server 10.3.6.0.0 / 12.1.3.0.0

    weblogic10 与hibernate冲突解决方案 linux windows环境全解

    weblogic10 与hibernate冲突解决方案 错误如下:org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken linux windows 环境解决方案全解 Linux 启动脚本添加如下: export USER_...

    Weblogic 10.3.0.0 win32位

    公司需要,非得让安装个这么老版本的,全网找遍了找不到。没办法找客户要了一个。

    weblogic10.3.3之后版本升级至weblogic10.3.6文档.docx

    - 本文档适用于从任何WebLogic Server 10.3.x版本升级到10.3.6版本的操作流程。 #### 四、升级前考虑因素 1. **JVM和JDK版本**:确认当前使用的JVM和JDK版本与新版本WebLogic Server兼容。 2. **操作系统版本**:...

    Linux RedHat 安装weblogic10.3.5.0

    Linux RedHat 安装 weblogic10.3.5.0 Linux RedHat 安装 weblogic10.3.5.0 是一种常见的企业级应用服务器安装配置,以下是安装过程中涉及的知识点: 1. Linux 用户管理:在安装 weblogic 之前,需要创建 weblogic ...

    weblogic2019年07月份补丁(10.3.6.0.190716)

    例如: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 注意:如果打过以前补丁...

    Weblogic10.3.1.0 in Suse11 安装手册

    详细介绍weblogic在Linux suse上的安装流程,图文并茂,文档结构清楚

    weblogic 10.3 安装过程详解

    WebLogic 10.3是Oracle公司发布的一款企业级应用服务器,它提供了强大的Java EE平台支持,能够帮助企业构建、部署和管理复杂的应用程序。本文将详细介绍WebLogic 10.3的安装过程,帮助读者更好地理解和掌握其安装...

Global site tag (gtag.js) - Google Analytics