繁体   English   中英

尝试在Ubuntu上运行jshell时,当前未安装程序“ jshell”

[英]The program 'jshell' is currently not installed when trying to run jshell on Ubuntu

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

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

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

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

我不知道为什么在安装经典Java版本后,该消息要求我安装openjdk。 当我运行“哪个jshell”时,我没有得到任何详细信息。

谁能帮助我安装并运行jshell

JShell是开发工具。 您应该下载并安装Java Development Kit来运行jshell ,而不仅仅是Java Runtime Environment。

我遵循了Ernest Kiwele等人给出的技巧,并部分地按照如何在Linux中为所有用户设置JAVA_HOME中所述设置了JAVA_HOME,还通过在profile.d目录中创建了一个sh脚本来进行设置 感谢您的帮助。

在此处输入图片说明

由于我已经使用update-alternatives配置了Java,因此我对解决方案不完全满意。 我不知道为什么人们建议不要同时设置其他因变量来使用update-alternatives来设置要使用的Java版本。

在此处输入图片说明

在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 。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM