基于以上分析便有了以下解决方案:
1、将antlr-2.7.6.jar复制到weblogic目录%DOMAIN_HOME%/lib下
2、根据操作系统类型选择修改%DOMAIN_HOME%/bin/startWebLogic.sh或%DOMAIN_HOME%/bin/startWebLogic.cmd在setClassPath前后各添加如下内容:
1 2 3 4 5 | set PRE_CLASSPATH=%DOMAIN_HOME%/lib/antlr-2.7.6.jar; .... set CLASSPATH=%PRE_CLASSPATH%;%SAVE_CLASSPATH% |
进行以上简单设置后,重新启动WebLogic,再次进行发布,发现异常消失,问题得以解决:)
补充:
1,WebLogic 11g 对应的是WebLogic 10.3.1
2,对于楼主遇到的这个问题,是由于antlr版本不兼容导致的,在WebLogic中有一个更简单方便的方法就是将weblogic.xml配置文件中的prefer-web-inf-classes选项设置为True,并将你的antlr-2.7.6.jar打包在应用的WEB-INF下,这样Web应用就会优先使用WEB-INF下的antlr,而不会去使用WebLogic提供的低版本的antlr。