【发布时间】:2016-07-21 19:19:26
【问题描述】:
当我运行我的项目时,我收到以下错误。我的jdk目前是1.8。为了修复它,我尝试重置 jdk,降级到 1.7,我检查了我的构建路径,我进入了首选项并恢复为默认值,这是同样的错误。我也删除并重新安装了jdk。
关于 JavaLaunchHelper 的错误,我在这里发现了一个问题,说这是 1.8 中未修复的错误,可以忽略,因为它们实际上位于正确的位置。
我的 IDE 是 Spring Tool Suite,我正在用 Spring Data 编写代码。
感谢任何帮助,谢谢!
objc[8419]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined.
java.lang.UnsupportedClassVersionError: io/pivotal/ticket/RuleControllerTest : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
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)
【问题讨论】:
-
jdk1.7.0_79绝对不是1.8。所以你不应该对它不能运行需要1.8的代码感到惊讶。 -
我已经检查过了,我的编译器使用的是 1.8,我知道这些差异。几周前我不得不更改为 1.8,因为我的项目需要它 - 我没有进行任何 jdk 更改,然后出现关于 jdk1.7 的错误。根据几个论坛,我发现有关该错误的 jdk 存在导致错误出现但实际上不应该影响代码的问题 - UnsupportedClassVersion 错误似乎是一个单独的问题。
-
我不知道您在说什么其他问题,当您说“UnsupportedClassVersion 错误似乎是一个单独的问题”时,因为这是您在中提到的唯一问题你的问题。而且您发布的日志清楚地表明您正在尝试在
jdk1.7.0_79中运行该应用程序。 -
第一段中的错误是我被告知是一个错误并且已经检查过的错误,它是 1.8 被使用的 - 我找不到任何使用 1.7 的地方。我在第二段中谈论的错误出现在第一段之后,似乎是一个不同的问题。
-
在您的第一段中,您根本没有描述错误。您说“我收到以下错误”,但随后没有错误描述。相反,您正在描述您尝试修复未描述的错误的内容。在第二段中,您说的是“关于 JavaLaunchHelper 的错误”,然后您将其描述为可以忽略的错误,因此这似乎不是您的问题。那么剩下的就是
UnsupportedClassVersionError有一个明显的原因,因为日志清楚地提到了/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/…。