2013-04-06 2 views
1

자바 웹 응용 프로그램에 Android를 사용하여 응답 매개 변수를 전달하려고합니다. 안드로이드 개발을 위해 jdk 1.6_32를, 서버 측에 jdk1.5_06을 사용하고 있습니다. 내가 전달하려고하는 매개 변수는 로그인 자격 증명 (String)과 문자열로 인코딩 된 Base64 인 png 파일입니다. PNG로 파일이 전달 될 때 로그인 자격 증명을 제대로 전달 만되고, 서버는 예외 다음 던지고있다 :Java에서 지원되지 않는 클래스 버전 오류가 발생 했습니까?

15:08:33,264 ERROR [[ImageRetrieve]] Servlet.service() for servlet ImageRetrieve threw exception 
java.lang.UnsupportedClassVersionError: Bad version number in .class file 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:620) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) 
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1629) 
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:850) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1299) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1181) 
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) 
    at com.apd.test.ImageRetrieve.doPost(ImageRetrieve.java:46) 
    at com.apd.test.ImageRetrieve.doGet(ImageRetrieve.java:37) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:697) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) 
    at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39) 
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153) 
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744) 
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) 
    at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) 
    at java.lang.Thread.run(Thread.java:595) 

나는 문제를 파악 드릴 수 없습니다.

답변

2

(JDK5에서 실행되는) 서버에서 JDK6으로 컴파일 된 클래스를 사용하고있는 것 같습니다. 설치가 올바르게 작동하려면 서버의 모든 클래스가 JDK5에 대해 컴파일되어야합니다.

+0

클래스 파일을 지우고 JDK5에서 컴파일 된 것을 확인했지만 여전히 동일한 예외가 있습니다. –

+1

클래스를 컴파일하는 데 사용한 JDK보다 이전 JDK를 사용하여 서버를 실행하고 있다고 확신합니다. 그것이 오류 메시지가 말하는 것입니다. – chkal

+0

Base64 용 jar를 사용하고 있습니다 ... JDK의 상위 버전에서 컴파일 될 수 있습니다 ... 문제 일 수 있습니다 .. –

관련 문제