1、首先发布系统,出现以下异常,并且weblogic自动退出:
java.lang.NoSuchMethodError:
javax.xml.namespace.QName.<init>(Ljava/lang/String;Ljava/lang/String;Lja
va/lang/String;)V
经过上网查找,发现是weblogic自带的QName.class版本不对
从D:/oracle/product/10.2.0/client_1/LIB文件夹,找到xmlparserv2.jar
里面有QName.class较新版本
将它替换到weblogic.jar中的weblogic.jar/javax/xml/namespace路径下
(weblogic.jar文件在/opt/bea/weblogic81/server/lib路径下)
2、发布系统,第一步的错误没有了,可是却出现另外的异常
CharScanner; panic: ClassNotFoundException: org.hibernate.hql.ast.HqlToken
在hibernate3中需要用到antlr.jar,然而这个包在weblogic.jar中已经包含了antrl类库,就会产生一些类加载的错误,无法找到在war或者ear中的hibernate3.jar。出现这个错误之后,antlr会调用System.exit(),这样weblogic就会中止服务。
继续检查weblogic.jar,里面有antrl类库
心想可能是此类库的版本问题
将较新的antlr-2.7.6.jar里面的class替换到weblogic.jar下的antlr文件夹下
再次发布系统,此异常也不见了
-------
哈,突然觉得自己蛮厉害的~~恩,以后再了解的深入点吧~