我使用jdk1.6.0_24,当我尝试使用Mockito模拟HTTP会话时,我有下一个错误:
java.lang.UnsupportedClassVersionError:javax / servlet / http / HttpSession:不支持的major.minor版本51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) at java.lang.ClassLoader.defineClass(ClassLoader.java:616) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access $ 000(URLClassLoader.java:58) 在java.net.URLClassLoader $ 1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) 在java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 在sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:301) 在java.lang.ClassLoader.loadClass(ClassLoader.java:248) at java.lang.Class.getDeclaredFields0(Native Method) at java.lang.Class.privateGetDeclaredFields(Class.java:2291) at java.lang.Class.getDeclaredFields(Class.java:1743) 在org.junit.runners.model.TestClass。(TestClass.java:49) 在org.junit.runners.ParentRunner。(ParentRunner.java:75) 在org.junit.runners.BlockJUnit4ClassRunner。(BlockJUnit4ClassRunner.java:57) 在org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10) 在org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) 在org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
当我使用JDK 1.7时它可以工作,但在我的项目中我必须使用JDK 1.6,我该如何解决这个问题呢?
答案 0 :(得分:1)
您已经在JDK 1.7下编译了类,但是您在旧版本的JDK 1.6下运行。
这就是 java.lang.UnsupportedClassVersionError 异常的含义
答案 1 :(得分:1)
您必须在1.6中再次编译类并再次运行它。它会工作。目前你所做的是在1.7中编译类并在1.6中运行