访问远程bean时CORBA内部异常

时间:2014-04-25 11:16:54

标签: java-ee glassfish javabeans corba

在使用Glassfish 4.0和JDK 1.7_55的Windows Server上,我得到NoClassDefFoundError和ClassNotFoundException,然后调用远程bean方法。

StandardWrapperValve[action]: Servlet.service() for servlet action threw exception
java.lang.ClassNotFoundException: com.sun.corba.ee.impl.orb.ORBSingleton
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    ...
    at com.sun.corba.ee.impl.presentation.rmi.codegen.CodegenStubBase.invoke(CodegenStubBase.java:226)
    at dudge.ifaces.__SolutionRemote_Remote_DynamicStub.getSolutionEager(dudge/ifaces/__SolutionRemote_Remote_DynamicStub.java)
    at dudge.ifaces._SolutionRemote_Wrapper.getSolutionEager(dudge/ifaces/_SolutionRemote_Wrapper.java)
    at dudge.DudgeBean.submitSolution(DudgeBean.java:119)
    ...

有DudgeBean和SolutionRemote是我的类。

并且

StandardWrapperValve[action]: Servlet.service() for servlet action threw exception
java.lang.NoClassDefFoundError: Could not initialize class com.sun.corba.ee.impl.io.IIOPInputStream
    at com.sun.corba.ee.impl.io.ValueHandlerImpl.createInputStream(ValueHandlerImpl.java:820)
    ...
    at com.sun.corba.ee.impl.presentation.rmi.codegen.CodegenStubBase.invoke(CodegenStubBase.java:226)
    at dudge.__PermissionCheckerRemote_Remote_DynamicStub.canGetUser(dudge/__PermissionCheckerRemote_Remote_DynamicStub.java)
    at dudge._PermissionCheckerRemote_Wrapper.canGetUser(dudge/_PermissionCheckerRemote_Wrapper.java)
    at dudge.web.actions.UsersAction.view(UsersAction.java:95)
    ...

UsersActionand和PermissionCheckerRemote是我的类。

在开发系统上一切正常,我找不到区别。 可能导致这种情况的原因是什么?

3 个答案:

答案 0 :(得分:7)

这似乎是与JDK 1.7_55相关的错误。 在降级到JDK 1.7_51之后,问题得以解决。

Glassfish错误跟踪器中有一个关于此错误的条目。 https://java.net/jira/browse/GLASSFISH-21047

答案 1 :(得分:1)

@Aleksandr说,这是7u55的错误。

您可以尝试使用

运行glassfish
JAVA_HOME=/usr/lib/jvm/java-6-oracle ~/glassfish-3/glassfish/bin/asadmin start-domain domain1

这将临时更改JAVA_HOME路径。稍后你必须检查localhost:4848> srever> JVM报告java root是否已更改。如果没有,那么您可能需要修改asadmin.conf脚本或domain.xml。

答案 2 :(得分:1)

是的,这是一个错误。我通过将JDK升级到1.8.0_25

解决了同样的问题