Java 约塞米蒂岛上的爪哇岛

Java 约塞米蒂岛上的爪哇岛,java,osx-yosemite,Java,Osx Yosemite,我的java应用程序无法在约塞米蒂打开。 错误消息如下所示: java.lang.UnsupportedClassVersionError: .../.../view/Launcher : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java

我的java应用程序无法在约塞米蒂打开。 错误消息如下所示:

java.lang.UnsupportedClassVersionError: .../.../view/Launcher : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
    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)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:295)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
    at com.install4j.runtime.MacLauncher.main(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at apple.launcher.LaunchRunner.run(LaunchRunner.java:116)
    at apple.launcher.LaunchRunner.callMain(LaunchRunner.java:51)
    at apple.launcher.JavaApplicationLauncher.launch(JavaApplicationLauncher.java:52)
....-MacBook:~ thrisis$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.10.1
BuildVersion:   14B25
....-MacBook:~ thrisis$ java -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
....-MacBook:~ thrisis$ 
我听说在未安装JRE1.7时会出现此消息。 因此,我在控制台中检查了以下版本:

java.lang.UnsupportedClassVersionError: .../.../view/Launcher : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
    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)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:295)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
    at com.install4j.runtime.MacLauncher.main(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at apple.launcher.LaunchRunner.run(LaunchRunner.java:116)
    at apple.launcher.LaunchRunner.callMain(LaunchRunner.java:51)
    at apple.launcher.JavaApplicationLauncher.launch(JavaApplicationLauncher.java:52)
....-MacBook:~ thrisis$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.10.1
BuildVersion:   14B25
....-MacBook:~ thrisis$ java -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
....-MacBook:~ thrisis$ 
我很困惑,请帮帮我


PS,对不起,我的英语很差。

如果没有安装1.8,也可能发生这种情况。如果需要,请确保您正在运行最新版本的Java runtime environment和Development kit。

我也遇到了同样的问题,我通过将Java\u设置为HOME来修复它

export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
在我的.zshrc文件中。我使用zsh shell。您可以在.bashrc或.profile中执行相同的操作


当您的jar是用较高的JDK编译的,并且您试图用较低的版本运行它时,您主要会看到这个错误。查看此文件以供参考

谢谢你的好意,但直到现在我还不能解决它谢谢你的好意,但直到现在我还不能解决它您的机器上安装了什么版本的Java?要了解详情,请转到系统首选项…>Java>常规>Java>视图…>用户或系统。您将看到您的计算机上安装的所有Java版本。在安装jre 1.8之前,这里只显示Java 1.7.0,而现在,在我安装jre 1.8之后,这里只显示Java 1.8.0。在控制台中,$Java-version:Java version 1.7.0\u 71在System Preferences下相同…>Java>General>Java>View…>User,选择希望系统使用的Java。然后将java home设置为指向该位置,如上图所示。如果您选择Java8,请记住将版本1.7替换为1.8。再次尝试使用你的应用程序。