`

解决ClassNotFoundException: org.hibernate.hql.ast.HqlToken

 
阅读更多

话不多说,项目整合报错,特来Mark一下.


网上资料不少,共有三种解决方案:


1、在WEB-INF目录下新建weblogic-application.xml文件

写上如下配置:

 

<?xml version="1.0" ?>
<weblogic-application>
	<prefer-application-packages>
		<package-name>antlr.*</package-name>
	</prefer-application-packages>
</weblogic-application>
 

 

2、在weblogic.xml文件中插入一段配置:

 

<container-descriptor>
  	<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>

 

 

3、在myeclipse6.5中:

依次点击windows-preferences-myeclipse workbench-servers-weblogic-weblogic10.x-path,在prepend to classpath选项中,把hibernate要用到的包antlr.jar添加到weblogic的classpath中。
这样在weblogic便可以通过myeclipse正常启动,以上提到的问题解决。

如果想要通过weblogic自带的脚本来运行:
将工程里的antlr.jar拷贝到weblogic的wlserver_10.3\server\lib文件夹下面,在domains\base_domain\bin里找到startWebLogic.cmd文件,找到:
set CLASSPATH=%SAVE_CLASSPATH% 
 在下面增加:
@REM hibernate3  
set PRE_CLASSPATH=%WL_HOME%\server\lib\antlr.jar  
set CLASSPATH=%PRE_CLASSPATH%;%CLASSPATH% 
保存。


说下原因:

在Hibernate3.0 采用新的基于ANTLR的HQL/SQL查询翻译器,需要用到antlr,然而这个包在weblogic.jar中已经包含了较早版本的antrl包,不能兼容,就会产生一些类加载的错误,出现ClassNotFoundException: org.hibernate.hql.ast.HqlToken的异常。以上3种方法都是让weblogic加载新的antlr包。

第一种方法是让weblogic加载项目内的antlr包;

第二种方法是让weblogic加载包的时候,优先加载项目内的包;

第三种就比较麻烦,个人不太推荐,意思也是一样的。

 

 

分享到:
评论

相关推荐

    weblogic12 下 org.hibernate.hql.ast.HqlToken

    ### WebLogic 12下org.hibernate.hql.ast.HqlToken冲突解决方案 在使用WebLogic 12部署应用程序时,可能会遇到与`org.hibernate.hql.ast.HqlToken`相关的异常问题。这种异常通常与Hibernate版本之间的不兼容性有关...

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

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

    Tomcate移植到webLogic问题及解决方法

    org.springframework.orm.hibernate3.HibernateQueryException:ClassNotFoundException:org.hibernate.hql.ast.HqlToken [SELECT ztId,ztCname FROM AzyZtEntity WHERE ztEflg=0]; nested exception is org....

    weblogic10.3 使用

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

    antlr-2.7.6rc1.jar

    解决weblogic抛出的ClassNotFoundException: org.hibernate.hql.ast.HqlToken异常

    Java常见异常

    2. **ClassNotFoundException: org.hibernate.hql.ast.HqlToken** 这意味着Java无法找到指定的类,可能是因为Hibernate库未正确导入或版本不匹配。确认项目构建路径中包含了正确的Hibernate库,并且版本与代码兼容...

    weblogic安装部署以及常见问题解决

    5. **ClassNotFoundException: org.hibernate.hql.ast.HqlToken**:这可能是因为Hibernate库未被正确引入。确认Hibernate的相关jar包已包含在`WEB-INF/lib`目录下,并且WebLogic Server能正确识别。 6. **"There is...

    sunone8.1到weblogic10.3转移配置

    这一异常通常是因为类`org.hibernate.hql.ast.HqlToken`找不到导致的。 #### 三、问题原因 1. **Hibernate版本不兼容**:Sun ONE 8.1中可能使用了特定版本的Hibernate(例如2.x),而在WebLogic 10.3环境下,默认...

    struts+spring+hibernate3+webligic812环境配置备忘录

    - **异常现象**:在运行过程中可能会遇到`ClassNotFoundException`,指向`org.hibernate.hql.ast.HqlTokenizer`类未找到的问题,这通常是由于WebLogic服务器未能识别Hibernate依赖的ANTLR库所致。 - **解决方案**:...

Global site tag (gtag.js) - Google Analytics