2014-04-04 105 views
0

我使用的软件包从http://mvnrepository.com/artifact/org.json/json/20140107。它编译完美,但是当我尝试运行我的servlet,我得到一个500错误,根本原因是json软件包与jdk 1.4不兼容

java.lang.UnsupportedClassVersionError: org/json/JSONException (Unsupported major.minor version 49.0) 
at java.lang.ClassLoader.defineClass0(Native Method) 
at java.lang.ClassLoader.defineClass(ClassLoader.java:539) 
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) 
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251) 
at java.net.URLClassLoader.access$100(URLClassLoader.java:55) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:194) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:187) 
at org.apache.catalina.loader.StandardClassLoader.findClass(StandardClassLoader.java:621) 
at org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:958) 
at org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:857) 
at org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:941) 
at org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:857) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1430) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1289) 
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) 
at java.lang.Class.getDeclaredConstructors0(Native Method) 
at java.lang.Class.privateGetDeclaredConstructors(Class.java:1618) 
at java.lang.Class.getConstructor0(Class.java:1930) 
at java.lang.Class.newInstance0(Class.java:278) 
at java.lang.Class.newInstance(Class.java:261) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:903) 
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:668) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210) 
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) 
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) 
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494) 
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) 
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) 
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) 
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) 
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) 
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171) 
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172) 
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) 
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) 
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) 
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) 
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) 
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) 
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) 
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601) 
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392) 
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565) 
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619) 
at java.lang.Thread.run(Thread.java:534) 

有谁知道如何解决这个问题?感谢

+1

更新您的JDK?或者,如果不可能,则降级该制品。 – Magnilex

+0

无法升级JDK ..降级工件是什么意思? – user2810081

+0

这意味着你可以使用旧版本的不工作的lib。一个在java 4下工作的版本。顺便说一句,java 4是非常非常古老的,但我明白你可能正在使用遗留代码。 – Magnilex

回答

0

从清单

Manifest-Version: 1.0 
Archiver-Version: Plexus Archiver 
Created-By: Apache Maven 
Built-By: Benjamin 
Build-Jdk: 1.7.0_05 

库编译与JDK 1.7,你可以下载source code与JDK 1.4编译自己。

从官方README

包编译Java的1.2直通的Java 1.4。

或将您的Java运行时升级到JDK 1.7。

+0

我是新来的Java,从来没有编译过,有没有关于如何编译的说明? – user2810081

+0

下载源代码,创建一个Eclipse项目,将运行时设置为Java 1.4,右键单击包浏览器中的项目,单击导出并选择JAR文件。 – vzamanillo