【发布时间】:2017-12-18 07:43:51
【问题描述】:
我正在尝试使用 Java 9 的 jshell。为此,我在我的 Mac 上安装了 JDK 9,我已经安装了 JDK 8。
我所有的项目、工作区、Hadoop、Spark 和相关 API 都使用 JDK 8。所以对于当前场景,我无法将所有项目都迁移到 JDK 9。
所以我想要的是一个小实用程序或智能方式来按需在 JDK 8 和 JDK 9 之间切换。
暂时,我在做的是:
-
打开一个终端。
kv:micro-tab karan.verma$ echo $JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home -
将 JAVA_HOME 临时设置为 jdk 9
kv:Home karan.verma$ export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home -
启动 jshell
kv:Home karan.verma$ jshell | Welcome to JShell -- Version 9.0.1 | For an introduction type: /help intro -
完成后关闭终端。这意味着,全局 JAVA_HOME 现在可以工作了。
kv:micro-tab karan.verma$ echo $JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
所以,我的问题是,有没有更好的方法来做到这一点?或者这是做这种事情的好习惯?请提出建议。
【问题讨论】:
-
阅读stackoverflow.com/questions/26252591/…?如果是,请解释为什么这不是重复的?
-
但是这个问题总是在 8 或 9 上运行。但我想要的是只有在我想运行 jshell 时才更改为 jdk 9
-
链接的问题不是重复的,因为它假设您使用的是 Mac,而这个问题与操作系统无关,我会得到在 Windows 上运行的答案的帮助。
标签: java-8 java-9 java-home jshell