Java 不支持主要次要版本 52?尽管我没有使用 Oracle Java 1.8 的新功能,为什么会发生这种情况?

标签 java jar compatibility java-8 sun

我刚刚学习Java。我为一个带有轻型 GUI 的简单问答游戏编译并创建了一个 jar 文件。所有操作均通过 Ubuntu 14.04 终端手动使用“javac -d ...”和“jar -xvmf...

完成

这是我的版本详细信息:

java version "1.8.0_11"
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)

javac 1.8.0_11

我按照有关 Java SE 5.0 的教程来创建它,所以我猜没有使用“1.8”中的新功能。它编译并且对我来说效果很好。当我在 Ubuntu 14.04 中使用 OpenJDK(可用的最新版本)的 friend 尝试运行它时,他收到了很多错误,包括不支持的主要次要... 52...

我没有终端的完整详细输出。有什么方法可以避免这种情况,尽管我没有使用特定于最新版本的任何新功能,但为什么会发生这种情况?

我认为 Java 应该是“一次编写,到处运行”,即使是最简单的事情(仅涉及稍微旧的版本)也会出现兼容性问题我重新思考事情!

最佳答案

字节码的版本并不取决于您是否使用Java 8新功能。这仅取决于您使用的编译器。默认情况下,Java 8 编译器将生成 Java 8 字节码,除非您使用选项 -target 指定早期版本。

旁注:您的 friend 没有使用最新版本的 OpenJDK(即 Java 8),否则,他不会得到此异常。

关于Java 不支持主要次要版本 52?尽管我没有使用 Oracle Java 1.8 的新功能,为什么会发生这种情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26493037/

相关文章:

java - 用于从 oracle 社区获取最新 Oracle jre 的 REST API 是什么

java - 如何使用另一个类或函数中的 HashMap?

java - 如何从命令提示符在不同位置运行多个 JAR 文件

java - jar加载DLL找不到依赖库

java - 更改java版本

IE7 中的 jquery 幻灯片问题

java - 删除索引 N 处的元素,LinkedList

java - 同一服务器监听不同的套接字

maven - 将具有大量 jar 库的遗留 Java 项目转换为 maven 项目依赖项列表的简单方法是什么?

iphone - 针对多个移动平台的最具成本效益的方式