在Mac上无法打开JAR文件

4
我一直在尝试在我的 Mac 上打开一个 JAR 文件,但无法成功。它显示 JAR 文件无法打开,并要求我查找控制台中的任何错误消息。以下是控制台消息。我怀疑问题就在第一行,但我不是软件背景,因此不知道对于了解 Java 的人来说是否足够告诉问题所在。我已更新软件,因此我假设我拥有最新版本的 Java,尽管我不知道如何 100% 确保 - Java.com 网站只告诉我更新 Mac 上的整个软件,并表示将处理 Java 的最新版本。请帮忙!
5/26/09 7:48:01 AM [0x0-0x72072].com.apple.JarLauncher[1079] Exception in thread "main"  
5/26/09 7:48:01 AM [0x0-0x72072].com.apple.JarLauncher[1079] java.lang.UnsupportedClassVersionError: Bad version number in .class file 
5/26/09 7:48:01 AM [0x0-0x72072].com.apple.JarLauncher[1079]  at java.lang.ClassLoader.defineClass1(Native Method) 
5/26/09 7:48:01 AM [0x0-0x72072].com.apple.JarLauncher[1079]  at java.lang.ClassLoader.defineClass(ClassLoader.java:675) 
5/26/09 7:48:01 AM [0x0-0x72072].com.apple.JarLauncher[1079]  at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) 
5/26/09 7:48:01 AM [0x0-0x72072].com.apple.JarLauncher[1079]  at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) 
5/26/09 7:48:01 AM [0x0-0x72072].com.apple.JarLauncher[1079]  at java.net.URLClassLoader.access$100(URLClassLoader.java:56) 
5/26/09 7:48:01 AM [0x0-0x72072].com.apple.JarLauncher[1079]  at java.net.URLClassLoader$1.run(URLClassLoader.java:195) 
5/26/09 7:48:01 AM [0x0-0x72072].com.apple.JarLauncher[1079]  at java.security.AccessController.doPrivileged(Native Method) 
5/26/09 7:48:01 AM [0x0-0x72072].com.apple.JarLauncher[1079]  at java.net.URLClassLoader.findClass(URLClassLoader.java:188) 
5/26/09 7:48:01 AM [0x0-0x72072].com.apple.JarLauncher[1079]  at java.lang.ClassLoader.loadClass(ClassLoader.java:316) 
5/26/09 7:48:01 AM [0x0-0x72072].com.apple.JarLauncher[1079]  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280) 
5/26/09 7:48:01 AM [0x0-0x72072].com.apple.JarLauncher[1079]  at java.lang.ClassLoader.loadClass(ClassLoader.java:251) 
5/26/09 7:48:01 AM [0x0-0x72072].com.apple.JarLauncher[1079]  at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
6个回答

9
当JVM遇到不支持的类版本时,会抛出上述异常。这通常发生在JVM遇到为较新版本JVM构建的类时。因此,您需要升级您的VM,然后更改默认的Java版本。
以下是更改默认版本的方法:
在Spotlight中键入“java preferences”。您将看到“Java Preferences”实用程序。运行它,您可以将默认的Java实例更改为所需的版本(可能是Java 6)。
编辑:该实用程序位于Application / Utilities / Java中。使用Spotlight似乎是找到它的更简单的方法!

这个需要点赞,因为它是唯一提到问题和解决方案的答案。 - willcodejavaforfood
如果您的Mac上没有Java 6,https://dev59.com/00fRa4cB1Zd3GeqP_roM#908861 解释了如何获取它。 - Bill Michell

8

我猜测这个JAR文件需要Java 6,而大多数Mac电脑只安装了Java 5。


3

UnsupportedClassVersionError - 这就是罪魁祸首。该类文件是在比您尝试运行它的JRE更高版本的JDK上生成的。


我尝试使用下面消息中的链接更新Java版本,但仍然收到相同的消息.. 有什么想法吗?? - rajats9999
从该链接中可以看到:“此更新不会替换现有的J2SE 5.0安装或更改Java的默认版本。” - 您的默认Java仍然是JRE5。您需要找出如何在JRE6下运行您的类。我无法帮助您,因为我不是Mac用户。 - paxdiablo

1

1
你可以从以下网址获取适用于Intel的32位Java:http://landonf.bikemonkey.org/static/soylatte/或者从MacPorts的openjdk6端口获取。 - Blair Zajac

0

-1

只需右键单击 .jar 文件并使用归档实用程序打开。简单易行。 归档实用程序的位置:/System/Library/CoreServices/Archive\ Utility.app


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接