gpt4 book ai didi

java - 在 Java 1.5 项目中使用 Jmockit 时出现 UnsupportedClassVersionError

转载 作者:行者123 更新时间:2023-12-02 05:05:35 24 4
gpt4 key购买 nike

我尝试在 JUnit 测试中使用 JMockit,但在从 Eclipse 运行测试时收到 UnsupportedClassVersionError。这是一个Java 1.5项目,我的构建路径中有JDK 1.5.0.22,类路径中的JUnit版本是4.11(从maven存储库下载)

java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:133)

我仔细阅读了 JMockit 安装说明并进行了以下更改;

  1. 类路径中 jmockit.jar 位于 Junit.jar 之前
  2. 将 jmockit.jar 作为初始化参数传递给 JVM
  3. 项目使用 JDK 安装中的 JRE,而不是“普通”JRE

Eclipse Project specific Java Compiler Settings

Run config for Project

我花了很多时间试图解决这个问题:(,但没有运气。如果您有解决方案,请告诉我?我在这里缺少什么?

最佳答案

您尚未指定您使用的 JMockit 版本;然而在我看来你遇到了这个:

From this version on, JMockit requires Java 6 or newer when running tests;
JRE 1.5 is no longer supported. Note that this only applies to the JRE/JDK
used for test execution; class files compiled for older versions of Java
are still supported.

那就是 as of JMockit 1.8 ,去年四月发布。

顺便说一句,这是可以预料的,因为 Java 1.5 已经五年多没有得到公开支持了。

关于java - 在 Java 1.5 项目中使用 Jmockit 时出现 UnsupportedClassVersionError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27822522/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com