最近要部署一个他人开发的老项目
在包含了各种包之后,报出了这个错误..
之后百度,网上说的方法主要是 新建一个 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 解释为:层次结构的类型不一致