jdk 9 中加入了新特性 JShell,类似 python 等语言的交互式命令行,对新手开发 java 时试错、调试非常方便,就不用为了一句代码的测试而新建一个文件。但是 jshell 不支持语法高亮、代码提示,所以我更喜欢配置到 jupyter 中,这样服务器启动一个服务常驻在那里,需要使用时打开浏览器即可。
jdk 9/10 都不是 LTS 版本,而 jdk11 是包含 9/10 的新特性的 LTS 版本,下面使用 jdk11 配置 jshell 和 安装 kernel 到 jupyter,简要介绍下 jupyter,其支持语言高亮、提示、区分代码区和 md 文本区。
1. 效果
先看下效果。
- 高亮:
-
提示
2. jshell
直接搜索 jdk11,就会出现 Oracle 官方下载链接:Java SE Development Kit 11 Downloads。,下载安装即可,然后配置 JAVA_HOME 和 jdk/bin 到环境变量。对于 windows 如果有多个 java,最好在环境变量中改掉其他版本,如我将 jdk8 的 JAVA_HOME 修改为 JAVA_HOME_8,使 Windows 找不到正确的 jdk8 路径。
jshell 的使用:
- 如果正确配置了 jdk/bin 路径,那命令行输入 jshell 就可以进入了。
注意:Windows 下 jshell 无法正常使用在 65001 的活动代码页,此处我使用 936,可以输出中文,命令:chcp 936; jshell
- 常用命令:
/imports # 查看已导入的包 /exit # 退出
更多见官方文档:Java Shell User’s Guide。
3. 安装为 jupyter kernel
一个实现:SpencerPark/IJava。
首先安装 jupyterlab,python : pip install jupyterlab
即可。详细问题与配置见 jupyterlab 官方文档: jupyterlab Doc
安装 jupyter 的 kernel(以下均来自 IJava 作者 repo,详细):
- 卸载旧 java kernel:
jupyter kernelspec remove java
- 下载 IJava repo 中的 release 包,解压后可以看到 install.py 和 java 目录;
-
解压的目录中执行:
python install.py -h # 查看帮助 python install.py # 没有 python 的 conda 或者虚拟环境,可以不指定其他参数直接安装
- 检查 kernel 中是否存在:
jupyter kernelspec list
kernel list 中有 java 表明成功安装,例如我的 list 信息为:
# potoo at AERO15 in E:\ijava-1.3.0 [11:22:30] % jupyter kernelspec list Available kernels: python3 d:\python37\share\jupyter\kernels\python3 java C:\ProgramData\jupyter\kernels\java
- 启动 jupyterlab:
jupyter lab ./ # ./ 表示以当前目录为家目录打开 jupyterlab
打开后可以看到下面的界面: