weblogic BEA-170011

在myeclipse中使用Weblogic部署时遇到BEA-170011错误,原因是WebLogic 8.1SP4及之后版本内置的antlr与Hibernate的antlr-2.7.5H3.jar冲突。解决方法是在WEB-INF目录下添加weblogic.xml配置文件,启用prefer-web-inf-classes元素,使得应用优先加载自己的类,避免类加载器冲突。需要注意的是,启用此功能可能导致ClassCastException,应谨慎使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.youkuaiyun.com/z69183787/article/details/25801697
http://blog.youkuaiyun.com/teigakushi/article/details/17305533

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值