`
zhengxuezhou
  • 浏览: 148169 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

weblogic+hibernate启动异常

    博客分类:
  • web
 
阅读更多
我的项目架构是 Struts+spring+hibernate.在Tomcat6.0中运行正常,
然后部署到Weblogic10.3上报如上错误。
原因:从网上获知,weblogic.jar中已经有了一个antlr.jar的版本,导致应用中hibernate3.jar中用到的antlr.jar不能找到,导致异常。解决方法:可以按下面设置使用hibernate3的查询机制:
1、拷贝Hibernate3里带的包antlr-2.7.56H3.jar到${WL_HOME}/server/lib下
2、修改startWebLogic.sh :在CLASSPATH之前加上下面一句: PRE_CLASSPATH="${WL_HOME}/server/lib/antlr-2.7.6.jar"
在CLASSPATH之后加上下面一句: CLASSPATH="${PRE_CLASSPATH}:${CLASSPATH}"
之前在上面没有加:,怎么调都不能运行,后再在看启动是打印的信息,原来linux下classpath的加载项都是用:隔开,随后加上程序能正常访问啦!

org.hibernate.QueryException:ClassNotFoundException:org.hibernate.hql.ast.HqlToken错误之解决办法 
org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken

解决办法:

在Hibernate.hbm.xml中加入加入属性:

<property name="hibernate.query.factory_class">
        org.hibernate.hql.classic.ClassicQueryTranslatorFactory
</property>


原因: 
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. 1、拷贝Hibernate3里带的包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!

分享到:
评论

相关推荐

    Extjs3.2+struts2.0+spring2.5+hibernate3.5+weblogic10+oracle10g含全包5

    proxool_cofig.xml为连接池配置 此项目可做基础项目开发原型方便,启动此项目在weblogic10中会有antlr-2.7.6rc1.jar此包的异常请配置其先加载并将次包考入 bea\wlserver_10.0\server\lib目录下,再将bea\user_projects...

    最新Java面试宝典pdf版

    一. Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?...8、如何设定的weblogic的热启动模式(开发模式)与产品发布模式? 129 9、如何启动时不需输入用户名与密码? 130 10、...

    Java面试宝典2010版

    8、如何设定的weblogic的热启动模式(开发模式)与产品发布模式? 9、如何启动时不需输入用户名与密码? 10、在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,...

    java面试题

    76.2. 如何设定的weblogic的热启动模式(开发模式)与产品发布模式? 86 76.3. 如何启动时不需输入用户名与密码? 86 76.4. 在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息...

    Java面试笔试资料大全

    一. Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?...8、如何设定的weblogic的热启动模式(开发模式)与产品发布模式? 129 9、如何启动时不需输入用户名与密码? 130 10、...

    JAVA面试宝典2010

    一. Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?...8、如何设定的weblogic的热启动模式(开发模式)与产品发布模式? 129 9、如何启动时不需输入用户名与密码? 130 10、...

    Java面试宝典-经典

    一. Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?...8、如何设定的weblogic的热启动模式(开发模式)与产品发布模式? 129 9、如何启动时不需输入用户名与密码? 130 10、...

    java面试题大全(2012版)

    2012版最全面试题大全目录: 一. Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?...8、如何设定的weblogic的热启动模式(开发模式)与产品发布模式? 129 9、如何启动时不...

    Java面试宝典2012版

    51、启动一个线程是用run()还是start()? . 33 52、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 33 53、线程的基本概念、线程的基本状态以及状态之间的关系 34 54、...

    java面试宝典2012

    51、启动一个线程是用run()还是start()? . 37 52、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 37 53、线程的基本概念、线程的基本状态以及状态之间的关系 37 54、简述...

    Java面试宝典2012新版

    一. Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto?...8、如何设定的weblogic的热启动模式(开发模式)与产品发布模式? 129 9、如何启动...

    千方百计笔试题大全

    coreJava部分 8 1、面向对象的特征有哪些方面?...246、如何设定的weblogic的热启动模式(开发模式)与产品发布模式? 57 247、如何启动时不需输入用户名与密码? 57 248、在weblogic管理制台中对一个应用...

    java面试宝典

    java面试试题 全面 准确 带答案 coreJava部分 8 1、面向对象的特征有哪些方面?...246、如何设定的weblogic的热启动模式(开发模式)与产品发布模式? 57 247、如何启动时不需输入用户名与密码? 57 248、在...

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

    4.11.2 使用基于Java类的配置信息启动Spring容器 4.12 不同配置方式比较 4.13 小结 第5章 Spring容器高级主题 5.1 Spring容器技术内幕 5.1.1 内部工作机制 5.1.2 BeanDefinition 5.1.3 InstantiationStrategy 5.1.4 ...

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

    4.11.2 使用基于Java类的配置信息启动Spring容器 4.12 不同配置方式比较 4.13 小结 第5章 Spring容器高级主题 5.1 Spring容器技术内幕 5.1.1 内部工作机制 5.1.2 BeanDefinition 5.1.3 InstantiationStrategy 5.1.4 ...

    java源码包---java 源码 大量 实例

     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...

    java源码包2

     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...

Global site tag (gtag.js) - Google Analytics