java - Mac Java - 异常 : java. lang.UnsupportedClassVersionError

标签 java macos applet

一些 mac 用户报告此错误。我可以构建什么版本的小程序以便 Mac 用户可以使用它?

谢谢

最佳答案

使用 cross-compilation options javac 来编译与特定版本的 Java 兼容的代码。

然后使用 deployJava.js 脚本(链接自 info. page on applets )检查用户是否拥有最低版本。

What version can I build the applet so that Mac users can use it?

正如其他人提到(/暗示)的那样,Mac 可能支持多种 Java 版本。也许一个更相关的问题是这个。

运行该应用所需的最低 Java 版本是多少?

I believe 1.4 maybe 1.3 is the minimum required. I've been using 1.6 to build it tho.

交叉编译选项(尤其是使用 -bootclasspath)应该明确地回答这个问题。

我最初没有提到 -bootclasspath,因为您可能一直在运行 1.7 SDK,现在在 -source/-target< 时警告使用它 被指定。使用该选项需要您有相关版本的 rt.jar(核心 J2SE 类)进行编译。它检查代码中的类、方法和属性是否确实存在于提供的 RT jar 中。

所以结果是,如果你有一个 1.6(或最新)编译器和一个相关目标版本的 JRE(对于 rt.jar 以及运行-时间测试),应该可以编译出与任何版本兼容的代码。

If I download 1.4 and build with that, it should work for pretty much everyone?

  • 需要 JDK,只需要 JRE 和正确的交叉编译选项。
  • 将代码交付给“每个人”是不切实际的。有些人(或控制他们使用的 PC 的任何人)选择不安装 Java,如果它是标准配置则将其禁用。

关于java - Mac Java - 异常 : java. lang.UnsupportedClassVersionError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8829974/

相关文章:

cocoa - CARenderer 从不产生输出

objective-c - 如何在 NSTextField (Cocoa) 中单击鼠标右键来禁用上下文菜单?

java - 编写基于客户端-服务器的游戏的建议

java - Java Applet 中的 NoClassDefFoundError on invokeLater()

java - HTTP 状态 500 - servlet AxisServlet 的 Servlet.init() 抛出异常

java - 尝试使用 void 方法中的实例变量 (java)

macos - 如何从 OS X 错误日志诊断应用程序崩溃?

java - Java 拖动鼠标旋转缩放

java - 未定义的构造函数(java)

java - 单选按钮上的 Action 监听器