移动目录如direnv时,可以使用
.sdkmanrc切换由SDKMAN安装的Java,scala等版本。
它是在最近才添加的,因此请将SDKMAN更新到最新版本(在撰写本文时为5.8.3)以使用它。
产生.sdkmanrc
在要指定版本的目录中运行
1 2 3 | $ cd sdkenv-test/ $ sdk env init .sdkmanrc created. |
.sdkmanrc生成,如下所示:
1 2 3 4 | $ cat .sdkmanrc # Enable auto-env through the sdkman_auto_env config # Add key=value pairs of SDKs to use below java=8.0.202.j9-adpt |
设定
指定要用于生成的.sdkmanrc的版本。
1 2 3 | # Enable auto-env through the sdkman_auto_env config # Add key=value pairs of SDKs to use below java=13.0.2.j9-adpt |
在
?/ .sdkman / etc / config中设置为
通过设置
重新启动外壳。
1 | $ exec $SHELL -l |
执行示例
1 2 3 | $ cd sdkenv-test/ Using java version 13.0.2.j9-adpt in this shell. |
如果sdkman_auto_env = false
,则需要手动切换
如果将其设置为
您必须运行
1 2 3 4 5 6 7 8 9 10 11 | $ cd sdkenv-test/ $ java --version openjdk 14.0.1 2020-04-14 OpenJDK Runtime Environment AdoptOpenJDK (build 14.0.1+7) Eclipse OpenJ9 VM AdoptOpenJDK (build openj9-0.20.0, JRE 14 Linux amd64-64-Bit Compressed References 20200416_44 (JIT enabled, AOT enabled) OpenJ9 - 05fa2d361 OMR - d4365f371 JCL - 5757187cae based on jdk-14.0.1+7) $ sdk env Using java version 13.0.2.j9-adpt in this shell. |