在 Weblogic 11g 中部署 EAR 的奇怪问题



我有一个相当典型的 EAR 项目,具有库和 EJB 依赖项;Eclipse 中没有编译错误,并且该项目可以在 Oracle Weblogic 服务器上成功发布。但是当我在本地访问应用程序时,它在第一次调用超类中的方法时会给出"NoSuchMethodError"异常。方法本身并不重要,因为我证明,如果我注释掉第一个错误,它会在对超类中方法的第一次后续调用时中断。

但是,如果我将主项目导出到 EAR 并通过本地 Weblogic 控制台部署它,它工作正常,没有任何例外。因此,问题出在Eclipse(或者更准确地说,OEPE)的本地问题。

Weblogic是版本11gR1(10.3.5)。Eclipse是与服务器一起提供的OEPE,版本3.2.7。我的项目和域目录的所有源文件都与我的同行相同,不用说他们没有问题。

这是堆栈跟踪:

java.lang.NoSuchMethodError
    at hse.core.struts.action.ActionBase.beaInvoke(ActionBase.java)
    at hse.medl.web.actions.PreHome.beaInvokeSuper(PreHome.java)
    at hse.medl.web.actions.PreHome$beaVersion0_584.execute(PreHome.java:29)
    at hse.medl.web.actions.PreHome.execute(PreHome.java)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    ....

一如既往,任何帮助都将不胜感激。

我至少找出了原因:错误是由于JRebel插件造成的。我仍然不知道为什么或如何,但禁用 JRebel 可以解决问题。

编辑:JRebel论坛的人向我指出了一个解决方案。这是:http://zeroturnaround.com/forums/topic/cant-run-app-in-weblogic-11gr1-w-jrebel-support/#post-36727

最新更新