Vous pouvez utiliser .sdkmanrc pour basculer entre les versions de java, scala, etc. installées par SDKMAN lors du déplacement de répertoires, tels que direnv. Il a été ajouté relativement récemment, donc mettez à jour SDKMAN vers la dernière version (5.8.3 au moment de la rédaction) pour l'utiliser.
Exécutez sdk env init
dans le répertoire où vous voulez spécifier la version.
$ cd sdkenv-test/
$ sdk env init
.sdkmanrc created.
Un .sdkmanrc est généré et ressemble à ceci:
$ 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
Spécifiez la version que vous souhaitez utiliser pour le .sdkmanrc généré.
# Enable auto-env through the sdkman_auto_env config
# Add key=value pairs of SDKs to use below
java=13.0.2.j9-adpt
Défini sur sdkman_auto_env = true
dans ~ / .sdkman / etc / config.
En définissant sdkman_auto_env = true
, il basculera automatiquement lorsque vous vous déplacerez vers un répertoire comme direnv.
Redémarrez le shell.
$ exec $SHELL -l
$ cd sdkenv-test/
Using java version 13.0.2.j9-adpt in this shell.
Si sdkman_auto_env = false
est défini, il ne basculera pas automatiquement même si vous vous déplacez vers le répertoire contenant .sdkmanrc.
Vous devez exécuter sdk env
pour basculer.
$ 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.
Recommended Posts