weblogic org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.internal.ast.HqlTok

最近要部署一个他人开发的老项目

在包含了各种包之后,报出了这个错误..

之后百度,网上说的方法主要是 新建一个 weblogic-application.xml,内容为

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

原因是weblogic要查找自己的antlr,和lib下面的antlr包冲突....

这个解决方法我用了,不适用,貌似是因为这个方法需要weblogic10版本,而我的是8

还有一种方法为:

修改hibernate.cfg.xml

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

不过这个项目是用spring 去管理hibernate 的,我试着在spring中配置这个属性,一直报错

之后找到另外一种方法

修改weblogic.xml

<container-descriptor>
    <prefer-web-inf-classes>true</prefer-web-inf-classes>
  </container-descriptor>
这样就可以了

说明:prefer-web-inf-classes=true是WebLogic's classloader在有重名类时,优先加载Web应用中WEB-INF内的类
也可以
set PRE_CLASSPATH=D:\oracle\weblogic\wlserver_10.3\server\lib\antlr-2.7.7.jar
http://azurelover.blog.51cto.com/2990964/548988

然后项目就 报 java.io.FileNotFoundException: \home\weblogic\bea\user_projects\domains\portalDomain\applications\ylxm\conf\Shark.conf (系统找不到指定的路径。)

这个错误....无语,貌似这要配置shark工作流了...慢慢来

 

由于我在myeclipse里建了两个JAVA PROJECT项目,分别是A projiect和B projiect,项目A引用了一些JAR包,然后项目B引用了项目A,但是B没有引用A的JAR包,就出现了这个鸟问题了

结果在B项目里引用A项目的JAR包就OK了。


The hierarchy of the type is inconsistent 解释为:层次结构的类型不一致

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值