`
zzg
  • 浏览: 124637 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

weblogic8.1中使用hibernate3的问题

阅读更多
weblogic8.1中使用hibernate3的问题
报错:ClassNotfoundexception:org.hibernate.hql.ast.HqlToken

在hibernate3中需要用到antlr.jar,然而这个包在weblogic.jar中已经包含了antrl类库,就会产生一些类加载的错误,无法找到在war或者ear中的hibernate3.jar。

              出现这个错误之后,antlr会调用System.exit(),这样weblogic就会中止服务。

              解决方法是在hibernate.properties文件中增加属性:hibernate.query.factory_class,属性的值是 org.hibernate.hql.classic.ClassicQueryTranslatorFactory,这样就可以解决问题了。

             参考文档:

             http://www.onthoo.com/blog/programming/2005/04/hibernate-moving-day.html

             http://forum.hibernate.org/viewtopic.php?t=939468



在运行过程中出现
ClassNotFoundException: org.hibernate.hql.ast.HqlToken 错误weblogic异常退出。
原因:
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就会中止服务。


解决方法:
1. 是在hibernate.properties文件中增加属性:hibernate.query.factory_class,属性的值是 org.hibernate.hql.classic.ClassicQueryTranslatorFactory,这样就可以解决问题了。
但是部分功能会有问题,譬如
但本系在批量删除和更新会有问题,本系统不采用
2. 将antlr-2.7.5H3.jar到Weblogic的pre_Classpath :用WinRar或Winzip打开C:\bea\weblogic81\server\lib\weblogic.jar 删除里面的antlr目录, 然后再antlr-2.7.5H3.jar放在weblogic.jar的同一目录(注:替换之后没做做过严格测试,尚不知是否有后遗症)
3.
a、拷贝Hibernate3里带的包antlr-2.7.5H3.jar到%WL_HOME%\server\lib下
b、修改% mydomain% \ startWebLogic.cmd :
在set CLASSPATH之前加上下面一句:
set PRE_CLASSPATH=%WL_HOME%\server\lib\antlr-2.7.5H3.jar;
在set CLASSPATH之后加上下面一句:
set CLASSPATH=%PRE_CLASSPATH%;%CLASSPATH%
一切OK!
具体原因可参照此页:http://dev2dev.bea.com/blog/pmalani/archive/2005/07/configuring_web.html 包antlr-2.7.5H3.jar到%WL_HOME%\server\lib下
2、修改% mydomain% \ startWebLogic.cmd :
在set CLASSPATH之前加上下面一句:
set PRE_CLASSPATH=%WL_HOME%\server\lib\antlr-2.7.5H3.jar;
在set CLASSPATH之后加上下面一句:
set CLASSPATH=%PRE_CLASSPATH%;%CLASSPATH%
一切OK!
具体原因可参照此页:http://dev2dev.bea.com/blog/pmalani/archive/2005/07/configuring_web.html
分享到:
评论

相关推荐

    在 Weblogic 8.1上配置 Hibernate 3.0

    ### 在Weblogic 8.1上配置Hibernate 3.0的知识点详解 #### 一、配置概述 在Weblogic 8.1上配置Hibernate 3.0涉及到一系列关键步骤,这些步骤确保Hibernate能够与Weblogic服务器环境兼容并高效运行。以下是对给定...

    webwork2.1.7+spring+hibernate3+oracle+weblogic8.1登录示例(详解)

    在这个示例中,我们探讨的是一个基于WebWork 2.1.7、Spring、Hibernate 3、Oracle 10和WebLogic 8.1的登录系统实现。这个系统的目的是通过输入用户名来查询数据库中对应的用户数据。以下是各个组件及其作用的详细...

    sunone8.1到weblogic10.3转移配置

    1. **Hibernate版本不兼容**:Sun ONE 8.1中可能使用了特定版本的Hibernate(例如2.x),而在WebLogic 10.3环境下,默认支持的是Hibernate 3.x。 2. **ANTLR依赖冲突**:Hibernate 3.x使用ANTLR作为其HQL和SQL查询的...

    jms.rar_weblogic8 spring jms

    总的来说,"jms.rar_weblogic8_spring_jms"这个主题涉及的是在Spring框架下使用JMS与WebLogic 8.1集成的技术。它涵盖了从JMS服务的配置、消息模板的定义,到消息的生产和消费,以及可能的数据持久化配合。这种集成...

    Struts+Hibernate简化J2EE的文件操作

    在准备工作部分,文章提到了使用的技术栈,包括WebLogic 8.1 SP3作为应用服务器,Apache Ant 1.6.2作为构建工具,MySQL 4.0.16作为数据库服务器,以及MySQL Connector/J 3.1.7作为Java连接MySQL的驱动。此外,Struts...

    SSH项目部署在window和linux下的Weblogic上出现 ClassNotFound异常解决办法

    经过初步排查发现,这一问题可能与Hibernate框架中所依赖的`antlr.jar`文件与WebLogic自带的jar包存在冲突有关。虽然在网上搜索了许多资料,但并未找到可行的解决方案。最终通过一份由前同事提供的资料,明确了问题...

    Struts+Hibernate学习资料

    Struts和Hibernate是两个在Java Web开发中广泛使用的开源框架。Struts主要处理MVC(模型-视图-控制器)架构中的控制层,提供了一种组织应用程序逻辑的方式,而Hibernate则是一个对象关系映射(ORM)工具,简化了...

    java技术文档,非常实用

    当使用 Hibernate 3.0 时,可能需要更新 WebLogic 中的 ANTLR 版本。原文件中的 weblogic.jar 中的 ANTLR 版本可能较旧,需要将其替换为 2.7.6 或更高版本的 antlr.jar。或者,可以将新版本的 jar 文件放在特定位置...

    MYECLIPSE + STRUTS2 + SPRING4 + HIBERNATE4 + STRUCTS2S+OGNL + MYSQL_5.7.12

    - **WebLogic**: Oracle公司的应用服务器之一,MYECLIPSE支持WebLogic 8.1、9.0、9.2和10版本。 - **WebSphere**: IBM公司的应用服务器产品,MYECLIPSE支持WebSphere 5.1、6.0和6.1版本。 - **OC4J (Oracle)**: ...

    Spring3.x企业应用开发实战(完整版) part1

    12.2 在Spring中使用Hibernate 12.2.1 配置SessionFactory 12.2.2 使用HibernateTemplate 12.2.3 处理LOB类型数据 12.2.4 添加Hibernate事件监听器 12.2.5 使用原生Hibernate API 12.2.6 使用注解配置 12.2.7 事务...

    Spring.3.x企业应用开发实战(完整版).part2

    12.2 在Spring中使用Hibernate 12.2.1 配置SessionFactory 12.2.2 使用HibernateTemplate 12.2.3 处理LOB类型数据 12.2.4 添加Hibernate事件监听器 12.2.5 使用原生Hibernate API 12.2.6 使用注解配置 12.2.7 事务...

    Java软件工程师求职简历J2EE方向.doc

    3. **开发环境**:提到的开发环境包括Windows 2000、Rose 2002、JBuilder、Oracle 8、WebLogic 8.1和Eclipse 3.0。这些都是Java开发和部署时常用到的工具,例如Rose用于UML建模,JBuilder是早期的Java IDE,Eclipse...

    JAVA程序开发大全---上半部分

    本书系统全面地介绍了Java中的各项主流技术,以及基于这些技术的商业化应用程序的开发技巧,在讲解过程中以目前最为流行的开发工具MyEclipse为载体,全面系统地介绍了如何在MyEclipse中开发基于Struts、Hibernate、...

    Spring-Reference_zh_CN(Spring中文参考手册)

    12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用服务器中使用Hibernate的注意点 12.3. JDO 12.3.1...

    Spring中文帮助文档

    12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用服务器中使用Hibernate的注意事项 12.3. ...

    java工程师简历.pdf

    - **技术栈**:Eclipse3.2+MyEclipse5.0+PowerDesigner+CVS+IReport+Windows2000+SQLServer2000+Weblogic8.1+JDK1.5+Struts+Spring+Hibernate - **项目描述**:该项目旨在帮助江西仁和药业提升销售效率、整合客户...

    Spring API

    12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用服务器中使用Hibernate的注意事项 12.3. ...

    Spring 2.0 开发参考手册

    12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用服务器中使用Hibernate的注意点 12.3. JDO ...

    spring chm文档

    12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用服务器中使用Hibernate的注意点 12.3. JDO ...

Global site tag (gtag.js) - Google Analytics