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%
分享到:
相关推荐
在使用WebLogic 12部署应用程序时,可能会遇到与`org.hibernate.hql.ast.HqlToken`相关的异常问题。这种异常通常与Hibernate版本之间的不兼容性有关,特别是在不同Hibernate版本依赖同一个类库的不同版本时更为常见...
Oracle WebLogic Server 10.3.0.0下载 包括两个文件: server103_linux32.bin server103_win32.exe
Weblogic 10.3.6 2019年7月16日集成补丁包(p29633432_1036_Generic_20190716.zip),补丁名称:MXLE,下载文件中包含补丁安装说明和方法(自用详细步骤)。服务器打补丁前请注意做好备份,若与旧的补丁冲突,需卸载...
"WebLogic patch10.3.6.0.180116" 是针对WebLogic Server 10.3.6.0版本的一个重要安全更新,发布于2018年1月16日。这个补丁主要目的是修复该版本中发现的安全漏洞,以保护用户的系统免受潜在攻击。 WebLogic服务器...
“WEBLOGIC SAMPLES SPU 10.3.6.0.210119 (Patch)”可能包含了一系列示例应用程序和特殊补丁更新单元(Special Patch Update, SPU),SPU是Oracle提供的一种快速修复机制,用于解决特定问题而无需完整升级。...
2021年10月发布的WebLogic 10.3.6.0.211019补丁集是针对这个版本的一次重要更新,旨在提升系统性能、增强安全性并修复已知问题。 补丁集更新(Patch Set Update, PSU)是Oracle针对其产品提供的常规维护更新,包含...
org.springframework.orm.hibernate3.HibernateQueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken[from com.xaccp.pojo.Loginfo]; nested exception is org.hibernate.QueryException: ...
WebLogic Server 10.3.6.0 是 Oracle 公司提供的一个企业级 Java 应用服务器,它主要用于构建、部署和管理基于Java EE(Java Platform, Enterprise Edition)的应用程序。这个版本发布于2011年,是WebLogic Server ...
Weblogic 10.3 性能优化参数配置 Weblogic 服务器是 Oracle 公司推出的一个基于 Java 的中间件服务器,广泛应用于企业级应用系统中。为了确保 Weblogic 服务器的高性能和稳定运行,需要对其进行合理的配置和优化。...
补丁10.3.6.0.0升级到1.0.3.6.0.12是为了修复特定的安全问题,提高系统安全性。 描述中提到的“有两个patch需要打”,在IT领域中,"patch"通常指软件更新或补丁,用于修复程序中的错误或安全漏洞。在这个情况下,你...
《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
weblogic10 与hibernate冲突解决方案 错误如下:org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken linux windows 环境解决方案全解 Linux 启动脚本添加如下: export USER_...
公司需要,非得让安装个这么老版本的,全网找遍了找不到。没办法找客户要了一个。
- 本文档适用于从任何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 是一种常见的企业级应用服务器安装配置,以下是安装过程中涉及的知识点: 1. Linux 用户管理:在安装 weblogic 之前,需要创建 weblogic ...
例如: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上的安装流程,图文并茂,文档结构清楚
WebLogic 10.3是Oracle公司发布的一款企业级应用服务器,它提供了强大的Java EE平台支持,能够帮助企业构建、部署和管理复杂的应用程序。本文将详细介绍WebLogic 10.3的安装过程,帮助读者更好地理解和掌握其安装...