weblogic BEA-170011

时间:2024-10-30 16:06:41

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 ]
: ClassNotFoundException: org.hibernate.hql.internal.ast.HqlToken [from com.myweb.model.Menu ]
  • 1
  • 2
  • 3
  • 4

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

增加在WEB-INF 下增加配置文件

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="/weblogic/weblogic-web-app"
    xmlns:xsi="http:///2001/XMLSchema-instance"
    xsi:schemaLocation="/xml/ns/javaee
        /xml/ns/javaee/ejb-jar_3_0.xsd
        /weblogic/weblogic-web-app
        /weblogic/weblogic-web-app/1.2/">
    <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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

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

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

参考:/z69183787/article/details/25801697
/teigakushi/article/details/17305533