首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么JavaSE12+没有兼容的JRE?

为什么JavaSE12+没有兼容的JRE?
EN

Stack Overflow用户
提问于 2021-01-24 18:00:42
回答 1查看 123关注 0票数 0

当我试图将一个.java文件作为运行时,我得到了一个错误,并且我得到了以下错误:

Unbound classpath container: 'JRE System Library [JavaSE-14]' in project <project_name>

我试图更改执行环境,对于JavaSE12和更高版本,没有兼容的are。(但是对于JavaSE11,兼容的JRE是java-11-OpenJDK-AMD 64)

我不知道该做什么,因为我正在处理的项目不适用于旧的Java版本。如何为最新的Java版本选择环境?

注意:我使用的是Ubuntu20.04,如果有任何不同。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-25 00:18:59

tl;dr

我不是Linux用户,所以我可能不太了解。但是,我怀疑运行.java文件的最简单方法是:

  • 获取并安装用于Linux的JDK for Java 15
  • 在命令行上调用java应用程序,将路径传递给您的.java文件。

向后兼容性是Java团队的首要任务。大多数现有的Java应用程序都应该能够使用最新版本的Java运行。虽然有例外,但它们很少。

JRE通过了

JRE ()是JDK (Java )的一个子集,省略了一些程序员工具。JRE作为一个单独的产品似乎正在逐步淘汰。

Oracle和Java社区的许多人已经从常规用户将Java安装在他们的个人计算机上的想法转变了。相反,应用程序应该使用特定于其主机平台的JVM来交付,这些应用程序应该捆绑在应用程序中。JVM的这种捆绑可以使用较新的工具,如jlinkjpackage

欲了解更多信息,请阅读:

获得JDK

你说你有一个.java文件要执行。必须先编译该文件,然后才能执行。java应用程序的最新版本可以同时执行这两个步骤,即编译和执行。

首先下载并安装主机平台的JVM。

Java 11是当前的长期支援(LTS)版本。Java 15是最新的版本。你可能想读六个月的发布cadence for Java

您有大量提供Java实现的供应商选择。这是我为帮助选择供应商而制作的一个图形流程图。

如果这里显示的步骤是压倒性的,我建议:

  • 使用apt-get或类似的包安装程序来获得Ubuntu的OpenJDK构建。我不是Linux用户,所以我不知道细节.
  • AdoptOpenJDK下载一个用于Linux的安装程序。

在选择供应商时要考虑的一些动机。

编译并运行您的应用程序

一旦您的JDK安装在控制台上(如Terminal.app in macOS),运行如下所示。如果单个文件构成了整个应用程序,那么java命令应该编译和执行您的.java文件。

代码语言:javascript
复制
java /path/to/some/folder/MyJavaApp.java
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65874108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档