我使用jdk1.6.0_24,当我尝试用Mockito模拟HTTP会话时,我会出现下一个错误:
java.lang.UnsupportedClassVersion错误:javax/servlet/http/HttpSession:不支持的major.minor版本51.0位于java.lang.ClassLoader.defineClass1(本机方法)位于java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)位于java.lang.ClassLoader.defineClass(ClassLoader.java:616)位于java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)位于java.net.URLClassLoader.defineClass(URLClassLoader.java:283)位于java.net.URLClassLoader.access$000(URLClassLoader.java:58)位于java.net.URLClassLoader$1.run(URLClassLoader.java:197)位于java.security.AccessController.doPrivileged(本机方法)位于java.net.URLClassLoader.findClass(URLClassLoader.java:190)位于java.lang.ClassLoader.loadClass(ClassLoader.java:307)在sun.mic.Launcher$AppClassLoader.loadClass(Launcher.java:301)位于java.lang.ClassLoader.loadClass(ClassLoader.java:248)位于java.lang.Class.getDeclaredFields0(本机方法)位于java.lang.Class.privateGetDeclaredFields(Class.java:2291)位于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(JUnit4BBuilder.java:10)网址:org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)网址:org.junit.internal.builders.AllDefaultPossibilities Builder.runnerForClass(AllDefaultPossibility Builder.java:26)
当我使用JDK 1.7时,它是有效的,但在我的项目中,我必须使用JDK 1.6,我该如何解决这个问题
您已经在JDK 1.7下编译了类,但现在运行的是JDK 1.6的旧版本。
这就是java.lang.UnsupportedClassVersionError异常的含义
您必须在1.6中再次编译这些类,然后再次运行它。它会起作用的。目前您所做的是在1.7中编译类并在1.6 中运行