模拟HTTPSession

时间:2014-01-03 14:39:15

标签: java mocking mockito httpsession

我使用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,我该如何解决这个问题呢?

2 个答案:

答案 0 :(得分:1)

您已经在JDK 1.7下编译了类,但是您在旧版本的JDK 1.6下运行。

这就是 java.lang.UnsupportedClassVersionError 异常的含义

答案 1 :(得分:1)

您必须在1.6中再次编译类并再次运行它。它会工作。目前你所做的是在1.7中编译类并在1.6中运行