我已经下载了"手动"为Linux 64bit版安装了JDK 10(适用于Ubuntu 16.04), Oracle Java SE Development Kit (注意:我想下载Java9 JDK,但不再支持它,而是转而使用Java 10 SE开发工具包)。
当我尝试从终端窗口运行jshell
时,我收到以下错误,
该计划' jshell'目前尚未安装。运行' jshell' 请让您的管理员安装该软件包 '的openjdk -9- JDK-无头'您必须启用名为的组件 '宇宙'
我不知道为什么当我安装了经典的java版本时,该消息要求我安装openjdk。当我跑步时,#jshell"我没有得到任何细节。
任何人都可以帮我安装和使用jshell
吗?
答案 0 :(得分:2)
JShell
是一种开发工具。您应下载并安装 Java Development Kit 以运行jshell
,而不仅仅是Java Runtime Environment。
答案 1 :(得分:0)
我按照上面的Ernest Kiwele和其他人给出的提示,将我的JAVA_HOME部分设置为
How to set JAVA_HOME in Linux for all users
但也可以在我的profile.d目录中创建一个update-alternatives
脚本。谢谢你的帮助。
因为我使用update-alternatives
配置了Java,所以我对我的解决方案感到不自在。我不知道为什么人们建议使用 [LuisIntent("aa")]
[LuisIntent("bb")]
public async Task AaIntentSpecified(IDialogContext context, LuisResult result)
{
}
[LuisIntent("")]
public async Task IntentNotSpecified(IDialogContext context, LuisResult result)
{
}
设置要使用的Java版本,如果其他依赖变量没有同时设置。
答案 2 :(得分:0)
在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
。)