2009-11-06 3 views
3

hessian j2me 구현을 사용하려고합니다. http://hessian.caucho.com/ java me sdk 3.0을 사용하고 있습니다.ClassFormatError : j2me에서 hessian을 사용하는 동안

http://hessian.caucho.com/doc/hessian-overview.xtp#Hessian%20Client%20for%20a%20cell-phone에는 j2me의 사용법이 언급되어 있습니다.

오류/경고없이 응용 프로그램이 빌드됩니다. 그러나 MicroHessianOutput이 인스턴스화 된 행이 히트 될 때 ClassFormatError (java.lang.Error: ClassFormatError: 56 )가 발생합니다.

을 Heres 추적 :

TRACE: <at java.lang.Error: ClassFormatError: 56>, startApp threw an Exception 
java.lang.Error: ClassFormatError: 56 
- alert.AlertDemo.showOption(), bci=26 
- alert.AlertDemo.startApp(), bci=9 
- javax.microedition.midlet.MIDletTunnelImpl.callStartApp(), bci=1 
- com.sun.midp.midlet.MIDletPeer.startApp(), bci=7 
- com.sun.midp.midlet.MIDletStateHandler.startSuite(), bci=269 
- com.sun.midp.main.AbstractMIDletSuiteLoader.startSuite(), bci=52 
- com.sun.midp.main.CldcMIDletSuiteLoader.startSuite(), bci=8 
- com.sun.midp.main.AbstractMIDletSuiteLoader.runMIDletSuite(), bci=161 
- com.sun.midp.main.AppIsolateMIDletSuiteLoader.main(), bci=26 

과를 heres showOption() :

private void showOption() throws Exception{ 
     String url = "http://localhost/hello"; 

     HttpConnection c = (HttpConnection) Connector.open(url); 

     c.setRequestMethod(HttpConnection.POST); 

     OutputStream os = c.openOutputStream(); 
     MicroHessianOutput out = new MicroHessianOutput(os); //error throwing line 
     /* 
     out.startCall("hello"); 

     InputStream is = c.openInputStream(); 

     MicroHessianInput min = new MicroHessianInput(is); 
     min.startReply(); 
     System.out.println(min.readString()); 
     */ 
    } 

내가 JDK 1.6u16 설치되어 있습니다. 도서관의 수업이 오래된 JDK를 위해 쓰여졌을 수도 있기 때문일 수도 있습니다. IDE에서이 옵션을 구성 할 수있는 옵션이 없습니다. 왜 이런 일이 될 수 MicroHessianOutput

어떤 생각 :

여기에 클래스의 소스 코드는?

답변

6

ClassFormatError는 형식을 인식하지 못해 JVM에서 클래스를로드 할 수없는 경우 (예 : JVM 1.4에서 javac 1.5로 컴파일 된 클래스를로드하려고 시도하는 경우) 발생합니다.

J2ME에는 클래스에 대한 이전 대상이 필요할 수 있습니다. 헤시안 (Hessian)을

javac -target 1.4 ... 
+0

thnx로 다시 컴파일 해보십시오. – letronje

+0

Eclipse에서이 작업을 수행 할 수있는 사람은 누구입니까? (특히 Eclipse Kepler와 Oracle JME SDK 3.4를 사용합니다.) – LarsH

관련 문제