在 Ubuntu 上尝试 运行 jshell 时,当前未安装程序 'jshell'
The program 'jshell' is currently not installed when trying to run jshell on Ubuntu
我已经下载并"manually"安装了 JDK 10 Linux 64 位版本(Ubuntu 16.04),
Oracle Java SE Development Kit
(注意:我想下载 Java9 JDK,但这不再受支持,我转而参考了 Java 10 SE 开发工具包)。
当我从终端 window 尝试 运行ning jshell
时,出现以下错误,
The program 'jshell' is currently not installed. To run 'jshell'
please ask your administrator to install the package
'openjdk-9-jdk-headless' You will have to enable the component called
'universe'
我不知道为什么我已经安装了经典java版本却提示我安装openjdk。当我 运行 "which jshell" 时,我没有收到任何返回的详细信息。
任何人都可以帮助我安装 jshell
并正常工作吗?
JShell
是一个开发工具。您应该下载并安装 Java 开发工具包 到 运行 jshell
,而不仅仅是 Java 运行时环境。
我按照上面 Ernest Kiwele 和其他人给出的提示设置了我的 JAVA_HOME
How to set JAVA_HOME in Linux for all users
还可以在我的 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:~$
一般来说,umake
或Ubuntu Make
会安装IDE
或其他开发工具。目前,umake
最好安装为 snap
。
结果是先安装SDKman
,再安装snap
,然后用snap
安装umake
。在 umake
和 SDKman
之间,您的工具应该是最新的。
(Ruby 使用了类似的 RVM
,它启发了 SDKman
。)
我已经下载并"manually"安装了 JDK 10 Linux 64 位版本(Ubuntu 16.04), Oracle Java SE Development Kit (注意:我想下载 Java9 JDK,但这不再受支持,我转而参考了 Java 10 SE 开发工具包)。
当我从终端 window 尝试 运行ning jshell
时,出现以下错误,
The program 'jshell' is currently not installed. To run 'jshell' please ask your administrator to install the package 'openjdk-9-jdk-headless' You will have to enable the component called 'universe'
我不知道为什么我已经安装了经典java版本却提示我安装openjdk。当我 运行 "which jshell" 时,我没有收到任何返回的详细信息。
任何人都可以帮助我安装 jshell
并正常工作吗?
JShell
是一个开发工具。您应该下载并安装 Java 开发工具包 到 运行 jshell
,而不仅仅是 Java 运行时环境。
我按照上面 Ernest Kiwele 和其他人给出的提示设置了我的 JAVA_HOME
How to set JAVA_HOME in Linux for all users
还可以在我的 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:~$
一般来说,umake
或Ubuntu Make
会安装IDE
或其他开发工具。目前,umake
最好安装为 snap
。
结果是先安装SDKman
,再安装snap
,然后用snap
安装umake
。在 umake
和 SDKman
之间,您的工具应该是最新的。
(Ruby 使用了类似的 RVM
,它启发了 SDKman
。)