【问题标题】:java.lang.ClassNotFoundException: com.sun.corba.ee.impl.orb.ORBSingleton while using JDK 8 in Java EE 7 applicationsjava.lang.ClassNotFoundException: com.sun.corba.ee.impl.orb.ORBSingleton 在 Java EE 7 应用程序中使用 JDK 8
【发布时间】:2023-03-25 03:01:02
【问题描述】:

我有一个企业应用程序在以下环境中运行。

  • Mojarra 2.2.6
  • PrimeFaces 5.0 最终版
  • PrimeFaces 扩展 2.0 最终版
  • OmniFaces 1.8.1
  • EclipseLink 2.5.1 具有 JPA 2.1
  • GlashFish 4.0
  • NetBeans IDE 8.0
  • JDK 1.8

今天我已经从 JDK 1.7 (jdk-7u11-windows-i586) 升级到 JDK 1.8 (jdk-8u5-windows-i586)。


除了远程 EJB 之外的所有东西都运行良好(本地 EJB 没有问题。它们正常工作)。

在远程 EJB 的情况下,会引发以下异常。

javax.ejb.EJBException: java.rmi.MarshalException: CORBA MARSHAL 1330446346 Maybe; nested exception is: 
    org.omg.CORBA.MARSHAL: WARNING: 00810010: Error from readValue on ValueHandler in CDRInputStream  vmcid: OMG  minor code: 10 completed: Maybe
    at admin.beans._ZoneBeanRemote_Wrapper.getList(admin/beans/_ZoneBeanRemote_Wrapper.java)
    at admin.bean.ZoneManagedBean.load(ZoneManagedBean.java:213)
    at org.primefaces.component.datatable.DataTable.loadLazyData(DataTable.java:815)
    at org.primefaces.component.datatable.DataTableRenderer.preRender(DataTableRenderer.java:94)
    at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:82)
    at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
    at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:85)
    at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:68)
    at org.primefaces.component.panel.PanelRenderer.encodeContent(PanelRenderer.java:204)
    at org.primefaces.component.panel.PanelRenderer.encodeMarkup(PanelRenderer.java:121)
    at org.primefaces.component.panel.PanelRenderer.encodeEnd(PanelRenderer.java:58)
    at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1864)
    at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
    at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
    at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:81)
    at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:68)
    at org.primefaces.component.layout.LayoutUnitRenderer.encodeEnd(LayoutUnitRenderer.java:49)
    at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1864)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1860)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1860)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1860)
    at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:461)
    at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133)
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:344)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
    at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:70)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
    at filter.NoCacheFilter.doFilter(NoCacheFilter.java:28)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:316)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:357)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:260)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:188)
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:191)
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:168)
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:189)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838)
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.rmi.MarshalException: CORBA MARSHAL 1330446346 Maybe; nested exception is: 
    org.omg.CORBA.MARSHAL: WARNING: 00810010: Error from readValue on ValueHandler in CDRInputStream  vmcid: OMG  minor code: 10 completed: Maybe
    at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:266)
    at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.wrapException(Util.java:695)
    at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:257)
    at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:150)
    at com.sun.corba.ee.impl.presentation.rmi.codegen.CodegenStubBase.invoke(CodegenStubBase.java:226)
    at admin.beans.__ZoneBeanRemote_Remote_DynamicStub.getList(admin/beans/__ZoneBeanRemote_Remote_DynamicStub.java)
    ... 66 more
Caused by: org.omg.CORBA.MARSHAL: WARNING: 00810010: Error from readValue on ValueHandler in CDRInputStream  vmcid: OMG  minor code: 10 completed: Maybe
    at com.sun.proxy.$Proxy200.valuehandlerReadError(Unknown Source)
    at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:912)
    at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1005)
    at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:823)
    at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:512)
    at com.sun.corba.ee.impl.copyobject.ORBStreamObjectCopierImpl.copy(ORBStreamObjectCopierImpl.java:75)
    at org.glassfish.pfl.dynamic.copyobject.impl.FallbackObjectCopierImpl.copy(FallbackObjectCopierImpl.java:64)
    at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.copyObject(Util.java:770)
    at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl.copyResult(DynamicMethodMarshallerImpl.java:472)
    at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:241)
    ... 69 more
Caused by: java.lang.ExceptionInInitializerError
    at com.sun.corba.ee.impl.io.ValueHandlerImpl.createInputStream(ValueHandlerImpl.java:820)
    at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:263)
    at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:903)
    ... 77 more
Caused by: org.omg.CORBA.INITIALIZE: can't instantiate default ORB implementation com.sun.corba.ee.impl.orb.ORBSingleton  vmcid: 0x0  minor code: 0  completed: No
    at org.omg.CORBA.ORB.create_impl_with_systemclassloader(ORB.java:309)
    at org.omg.CORBA.ORB.init(ORB.java:294)
    at com.sun.corba.ee.impl.io.IIOPInputStream.<clinit>(IIOPInputStream.java:187)
    ... 80 more
Caused by: java.lang.ClassNotFoundException: com.sun.corba.ee.impl.orb.ORBSingleton
    at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:340)
    at org.omg.CORBA.ORB.create_impl_with_systemclassloader(ORB.java:306)
    ... 82 more

Info:   Exception when handling error trying to reset the response.
javax.ejb.EJBException: java.rmi.MarshalException: CORBA MARSHAL 1330446346 Maybe; nested exception is: 
    org.omg.CORBA.MARSHAL: WARNING: 00810010: Error from readValue on ValueHandler in CDRInputStream  vmcid: OMG  minor code: 10 completed: Maybe
    at admin.beans._ZoneBeanRemote_Wrapper.getList(admin/beans/_ZoneBeanRemote_Wrapper.java)
    at admin.bean.ZoneManagedBean.load(ZoneManagedBean.java:213)
    at org.primefaces.component.datatable.DataTable.loadLazyData(DataTable.java:815)
    at org.primefaces.component.datatable.DataTableRenderer.preRender(DataTableRenderer.java:94)
    at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:82)
    at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
    at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:85)
    at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:68)
    at org.primefaces.component.panel.PanelRenderer.encodeContent(PanelRenderer.java:204)
    at org.primefaces.component.panel.PanelRenderer.encodeMarkup(PanelRenderer.java:121)
    at org.primefaces.component.panel.PanelRenderer.encodeEnd(PanelRenderer.java:58)
    at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1864)
    at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
    at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
    at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:81)
    at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:68)
    at org.primefaces.component.layout.LayoutUnitRenderer.encodeEnd(LayoutUnitRenderer.java:49)
    at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1864)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1860)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1860)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1860)
    at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:461)
    at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133)
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:344)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
    at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:70)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
    at filter.NoCacheFilter.doFilter(NoCacheFilter.java:28)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:316)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:357)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:260)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:188)
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:191)
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:168)
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:189)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838)
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.rmi.MarshalException: CORBA MARSHAL 1330446346 Maybe; nested exception is: 
    org.omg.CORBA.MARSHAL: WARNING: 00810010: Error from readValue on ValueHandler in CDRInputStream  vmcid: OMG  minor code: 10 completed: Maybe
    at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:266)
    at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.wrapException(Util.java:695)
    at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:257)
    at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:150)
    at com.sun.corba.ee.impl.presentation.rmi.codegen.CodegenStubBase.invoke(CodegenStubBase.java:226)
    at admin.beans.__ZoneBeanRemote_Remote_DynamicStub.getList(admin/beans/__ZoneBeanRemote_Remote_DynamicStub.java)
    ... 66 more
Caused by: org.omg.CORBA.MARSHAL: WARNING: 00810010: Error from readValue on ValueHandler in CDRInputStream  vmcid: OMG  minor code: 10 completed: Maybe
    at com.sun.proxy.$Proxy200.valuehandlerReadError(Unknown Source)
    at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:912)
    at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1005)
    at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:823)
    at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:512)
    at com.sun.corba.ee.impl.copyobject.ORBStreamObjectCopierImpl.copy(ORBStreamObjectCopierImpl.java:75)
    at org.glassfish.pfl.dynamic.copyobject.impl.FallbackObjectCopierImpl.copy(FallbackObjectCopierImpl.java:64)
    at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.copyObject(Util.java:770)
    at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl.copyResult(DynamicMethodMarshallerImpl.java:472)
    at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:241)
    ... 69 more
Caused by: java.lang.ExceptionInInitializerError
    at com.sun.corba.ee.impl.io.ValueHandlerImpl.createInputStream(ValueHandlerImpl.java:820)
    at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:263)
    at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:903)
    ... 77 more
Caused by: org.omg.CORBA.INITIALIZE: can't instantiate default ORB implementation com.sun.corba.ee.impl.orb.ORBSingleton  vmcid: 0x0  minor code: 0  completed: No
    at org.omg.CORBA.ORB.create_impl_with_systemclassloader(ORB.java:309)
    at org.omg.CORBA.ORB.init(ORB.java:294)
    at com.sun.corba.ee.impl.io.IIOPInputStream.<clinit>(IIOPInputStream.java:187)
    ... 80 more
Caused by: java.lang.ClassNotFoundException: com.sun.corba.ee.impl.orb.ORBSingleton
    at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:340)
    at org.omg.CORBA.ORB.create_impl_with_systemclassloader(ORB.java:306)
    ... 82 more

我有另一个使用 Spring 4.0 GA 在 Tomcat 8.0.5 上运行的应用程序,包括上面提到的 Hibernate 4.3.5 final 和 JSF/PrimeFaces (Extensions)/OmniFaces 版本,它们也可以正常工作(至少到现在为止)。

我使用的平台是 Microsoft Windows XP,专业版 2002,不支持 JDK 8 的 Service Pack 3(启动安装程序时出现安装程序错误)。根据thisthis,我可以设法让 JDK 8 在 Windows XP 上运行。

异常的原因似乎已经是reported,但除了降级JDK版本之外我没有找到解决方案(实际上我不明白那里的最后一条评论,“它对我有用再次使用 Java 的新构建版本:1.8.0_20-ea-b20”。我已经下载了这个,1.8.0_20-ea-b20 但它实际上不是 JDK。我不知道该怎么办它)。

我仍然希望有办法让它工作:)


更新:

GlassFish Server 4.1 上的问题仍然存在。


更新:

当 JDK 升级到 JDK 8u25(对于 GlassFish Server 4.1,JDK 8u20 或更高版本为 recommended)时,远程 EJB 工作。 EclipseLink 有一个与 JDK 8 结合使用的bug,如果你碰巧使用它(比如我)。

【问题讨论】:

  • EOL OS 和最先进的 Java 版本的不受支持的组合,如此新,甚至 Oracle 的 4.0 版本的应用服务器似乎也可以在其上运行 - 讨厌的组合 :) 即使是最近的版本也存在问题7 的版本,似乎普遍认为 7u51 是安全的(我知道这是我们正在运行的组合)。 b20 参考是关于 OpenJDK,而不是 Oracle 的 JDK,据我所知,该版本不是最终版本。我的建议?保持简单并暂时坚持使用 7u51 进行应用服务器工作。
  • 这个问题是否与 GlassFish 或 JDK(或其他类似 CORBA)有关?
  • 从 7u55 开始,CORBA 所需的代码似乎发生了变化,似乎有一些影响 Glassfish 的意外副作用(您链接到的错误报告中有更多详细信息)。但无论如何,Glassfish 仅经过认证可以在某些 JDK 版本上运行,而 3.1.2 和 4.0 都没有经过认证可以在 JDK8 上运行。 IIRC 3.1.1 甚至根本没有经过认证可以在 JDK7 上运行。它可能有点用,但我强烈建议不要这样做,只要坚持已知效果很好的组合,在这种情况下是 7u51。
  • 可能和这个bug有关。 java.net/jira/browse/GLASSFISH-21047 我的意思是,在较新版本的 Java(Oracle JDK)中,发生了一些变化,但 Glassfish 可能仍会尝试以相同的旧方式访问这些对象。不确定,只是预感......
  • 我在 GlassFish 4.1、Windows 7 x64 和 Oracle 的 JDK 8u11 上尝试使用 @Remote EJB 时遇到了相同的 ClassNotFoundException。部署到 WildFly 8.1.0 工作正常。

标签: jakarta-ee glassfish ejb java-8 java-ee-7


【解决方案1】:

将 GlassFish Server 升级到 4.1。当 JDK 也升级到 JDK 8u25(对于 GlassFish Server 4.1,JDK 8u20 或更高版本为 recommended)时,远程 EJB 可以工作。

Java EE 7 需要JDK 7 或以上,推荐JDK 8 u20 或以上 对于 GlassFish 4.1。

EclipseLink 有一个bug 与 JDK 8 结合使用,如果您碰巧使用它,它计划在 2.6.0 版中修复。这似乎是实体类中的一些字节码相关问题,并且基本上只发生在实体类中使用 lambda 表达式导致抛出 java.lang.ArrayIndexOutOfBoundsException 时,本质上,在实体类中具有 lambda 表达式应该是非常罕见的要求并且现在很容易避免。


更新:

EclipseLink 2.6.0 现已推出(自 2015 年 3 月 10 日起),其中没有重现前面提到的实体类中的 lambda 表达式 (Java 8) 问题 - 已修复。

【讨论】:

    【解决方案2】:

    一些 java JRE 版本实际上与 Glassfish 运行时中的 Corba 支持“不兼容”。实际上,看起来是一对与 CORBA 相关的 JRE 修复导致了这个问题。详情见Jira ticket GLASSFISH-21047

    当尝试使用来自单独 EAR 中的客户端 MDB 的 JNDI 名称(在注释中声明或使用显式查找,没有区别)尝试处理某些会话 bean(不一定是单例)上的远程接口时,我遇到了问题org.omg.CORBA.INITIALIZE: can't instantiate default ORB implementation com.sun.corba.ee.impl.orb.ORBSingleton .

    那是在 JRE 1.7 U60 之上运行 Glassfish 3.1.2。在其他地方切换回 JRE SDK 1.7 U51 立即解决了这个问题。无需其他技巧或配置。

    据报道,1.7 U55、1.7 U60、1.8 U20 会导致该问题。

    【讨论】:

      【解决方案3】:

      我在 linux 上运行的 Glassfish 版本 3.1.2 版本,java 版本 1.6.45 也遇到过类似问题。

      添加JVM参数 配置 > 服务器配置 > JVM 设置 > 添加

      -Dorg.omg.CORBA.ORBSingletonClass=com.sun.corba.se.impl.orb.ORBSingleton

      它会解决问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-05
        • 2016-01-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多