1

我已经下载并“手动”安装了 JDK 10 for Linux 64 位版本(适用于 Ubuntu 16.04)、 Oracle Java SE 开发工具包 (注意:我想下载 Java9 JDK,但不再受支持,我被称为 Java 10 SE开发工具包)。

当我尝试jshell从终端窗口运行时,出现以下错误,

当前未安装程序“jshell”。要运行“jshell”,请让您的管理员安装软件包“openjdk-9-jdk-headless”您必须启用名为“universe”的组件

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

我不知道为什么当我安装了经典的 java 版本时,消息要求我安装 openjdk。当我运行“which jshell”时,我没有返回任何详细信息。

谁能帮我jshell安装和工作?

4

3 回答 3

2

JShell是一个开发工具。您应该下载并安装Java 开发工具包来运行jshell,而不仅仅是 Java 运行时环境。

于 2018-05-10T10:06:49.213 回答
1

在 Linux,尤其是 Ubuntu 上,最好不要通过apt. 证明规则的例外是RVM,它是通过apt纯粹安装的,以便它将在 apt 之外动态下载 ruby​​ 和 ruby​​ gem。

对于 Java,等效的是SDKman,它是通过 安装的curl。一旦你有了SDKman 然后你可以安装Java和其他Java类型的工具。

SDKman在行动:

thufir@dur:~$ 
thufir@dur:~$ sdk list java
================================================================================
Available Java Versions
================================================================================
     12.ea.20-open                                                              
     11.0.1-zulu                                                                
 > * 11.0.1-open                                                                
     10.0.2-zulu                                                                
     10.0.2-open                                                                
     9.0.7-zulu                                                                 
     9.0.4-open                                                                 
   * 8.0.192-zulu                                                               
     8.0.191-oracle                                                             
     7.0.201-zulu                                                               
     6.0.119-zulu                                                               
     1.0.0-rc-10-grl                                                            
     1.0.0-rc-9-grl                                                             
     1.0.0-rc-8-grl                                                             


================================================================================
+ - local version
* - installed
> - currently in use
================================================================================
thufir@dur:~$ 

通常,umakeUbuntu Make将安装IDE或其他开发工具。目前,umake最好安装为snap.

结果是先安装SDKman,再用snap,再snap安装umake。和你umakeSDKman工具应该是最新的。

(Ruby 使用了类似的RVM,这启发了SDKman。)

于 2018-12-20T11:07:12.663 回答
0

我按照上面 Ernest Kiwele 和其他人给出的提示设置了我的 JAVA_HOME,部分如 如何在 Linux 中为所有用户设置 JAVA_HOME 中sh所述,但也通过在我的 profile.d 目录中 创建脚本来设置。感谢您的帮助。

在此处输入图像描述

由于我使用update-alternatives. update-alternatives如果没有同时设置其他依赖变量,我不知道为什么人们建议使用设置要使用的 Java 版本。

在此处输入图像描述

于 2018-05-10T13:00:12.450 回答