weblogic BEA-170011

来源:互联网 发布:心事谁人知原唱 编辑:程序博客网 时间:2024/05/19 17:24

myeclipse测试weblogic部署是报错

<Warning> <Log Management> <BEA-170011> <The LogBroadcaster on this server failed to broadcast log messages to the admin server. The Admin server may not be running. Message broadcasts to the admin server will be disabled.> 五月 08, 2017 4:21:36 下午 org.apache.struts2.dispatcher.DefaultDispatcherErrorHandler error严重: Exception occurred during processing request: ClassNotFoundException: org.hibernate.hql.internal.ast.HqlToken [from com.myweb.model.Menu ]org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.internal.ast.HqlToken [from com.myweb.model.Menu ]

原因:WebLogic 8.1SP4以后内置了antlr 2.7.1,跟Hibernate 捆绑的antlr-2.7.5H3.jar冲突

增加在WEB-INF 下增加weblogic.xml配置文件

<?xml version="1.0" encoding="UTF-8"?><weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee        http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd        http://xmlns.oracle.com/weblogic/weblogic-web-app        http://xmlns.oracle.com/weblogic/weblogic-web-app/1.2/weblogic-web-app.xsd">    <container-descriptor>        <!--<prefer-web-inf-classes>true</prefer-web-inf-classes>-->        <prefer-application-packages>             <!-- antlr 优先使用war包 -->            <package-name>antlr.*</package-name>        </prefer-application-packages>    </container-descriptor></weblogic-web-app>

说明:
prefer-web-inf-classes 元素
weblogic.xml Web 应用程序部署描述符中包含 元素( 元素的子元素)。默认情况下,该元素设置为 False。将该元素设置为 True 会颠反类加载器委托模型,以便优先加载 Web 应用程序中的类定义,其次才加载更高一级的类加载器中的类定义。这使得 Web 应用程序能够使用自己版本的第三方类,这些类也可能包含于 WebLogic Server 中。请参阅 weblogic.xml 部署描述符元素。

使用此功能时必须谨慎,不要混淆通过 Web 应用程序类定义创建的实例与通过服务器定义创建的实例。如果混淆这些实例,则会引发 ClassCastException。

参考:http://blog.csdn.net/z69183787/article/details/25801697
http://blog.csdn.net/teigakushi/article/details/17305533

0 0