这是什么java.lang.UnsupportedClassVersionError?
What is this java.lang.UnsupportedClassVersionError?
问题可能是我们在学校使用的 eclipse 版本可能与我在家里使用的版本不同。我们必须为它制作一个分数 class 和一个 junit class。
java.lang.UnsupportedClassVersionError: FractionTest : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access0(Unknown Source)
at java.net.URLClassLoader.run(Unknown Source)
at java.net.URLClassLoader.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:685)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:421)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
拿起_JAVA_OPTIONS:-Xmx512M
那是错误。我应该怎么做才能解决这个问题?另外,今天打开eclipse,打开作品space,里面说了一些关于新作品space版本的东西。
这是因为 jdk 编译时的版本高于运行时的版本。如果您使用的是 eclipse,请检查 window -> 首选项 -> java -> 编译器。这些设置是为了什么?他们应该都是一样的。
您似乎已经在一个版本的 jdk 中编译了源代码,并试图在另一个版本的 jre 上 运行 它。只需在您想要 运行 的地方重新编译源代码即可。否则为用于编译的 jdk 安装相同版本的 jre。
关于 eclipse,从异常来看代码似乎是使用 Java 8 编译的。因此安装 Java 8 并使用 eclipse luna-r 或 mars 以获得更好的可比性。
问题可能是我们在学校使用的 eclipse 版本可能与我在家里使用的版本不同。我们必须为它制作一个分数 class 和一个 junit class。
java.lang.UnsupportedClassVersionError: FractionTest : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access0(Unknown Source)
at java.net.URLClassLoader.run(Unknown Source)
at java.net.URLClassLoader.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:685)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:421)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
拿起_JAVA_OPTIONS:-Xmx512M
那是错误。我应该怎么做才能解决这个问题?另外,今天打开eclipse,打开作品space,里面说了一些关于新作品space版本的东西。
这是因为 jdk 编译时的版本高于运行时的版本。如果您使用的是 eclipse,请检查 window -> 首选项 -> java -> 编译器。这些设置是为了什么?他们应该都是一样的。
您似乎已经在一个版本的 jdk 中编译了源代码,并试图在另一个版本的 jre 上 运行 它。只需在您想要 运行 的地方重新编译源代码即可。否则为用于编译的 jdk 安装相同版本的 jre。
关于 eclipse,从异常来看代码似乎是使用 Java 8 编译的。因此安装 Java 8 并使用 eclipse luna-r 或 mars 以获得更好的可比性。