2014-04-25 6 views
2

Glassfish 4.0 및 JDK 1.7_55가 설치된 Windows 서버에서 NoClassDefFoundError 및 ClassNotFoundException을 얻고 원격 Bean 메소드를 호출합니다.원격 Bean에 액세스 할 때 CORBA에서 예외가 발생했습니다.

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 내 클래스입니다.

개발 시스템에서 모든 것이 잘 작동하고 차이점을 찾을 수 없습니다. 이 문제의 원인은 무엇일까요?

답변

7

이것은 JDK 1.7_55와 관련된 버그 인 것으로 보입니다. JDK 1.7_51로 다운 그레이드 한 후 문제가 해결되었습니다.

이 버그에 대한 글래스 피어 버그 추적기에 항목이 있습니다. https://java.net/jira/browse/GLASSFISH-21047

1

@Aleksandr가 말했듯이 이것은 7u55의 버그입니다.

당신은

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

이 의지 일시적인 변화 JAVA_HOME 경로 글래스 피쉬를 실행 시도 할 수 있습니다. 나중에 java root가 변경되었는지 localhost : 4848> srever> JVM보고를 확인해야합니다. 그렇지 않은 경우 asadmin.conf 스크립트 또는 domain.xml을 수정해야 할 수도 있습니다.

1

예 이것은 버그입니다. JDK를 1.8.0_25로 업그레이드하여 동일한 문제를 해결했습니다.

관련 문제