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