Sie können .sdkmanrc verwenden, um zwischen Versionen von Java, Scala usw. zu wechseln, die von SDKMAN installiert wurden, wenn Sie Verzeichnisse wie direnv verschieben. Es wurde vor relativ kurzer Zeit hinzugefügt. Aktualisieren Sie daher SDKMAN auf die neueste Version (5.8.3 zum Zeitpunkt des Schreibens), um es zu verwenden.
Führen Sie sdk env init
in dem Verzeichnis aus, in dem Sie die Version angeben möchten.
$ cd sdkenv-test/
$ sdk env init
.sdkmanrc created.
Eine .sdkmanrc wird generiert und sieht folgendermaßen aus:
$ 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
Geben Sie die Version an, die Sie für die generierte .sdkmanrc verwenden möchten.
# Enable auto-env through the sdkman_auto_env config
# Add key=value pairs of SDKs to use below
java=13.0.2.j9-adpt
Setzen Sie in ~ / .sdkman / etc / config auf sdkman_auto_env = true
.
Wenn Sie "sdkman_auto_env = true" setzen, wird automatisch umgeschaltet, wenn Sie in ein Verzeichnis wie "direnv" wechseln.
Starten Sie die Shell neu.
$ exec $SHELL -l
$ cd sdkenv-test/
Using java version 13.0.2.j9-adpt in this shell.
Wenn "sdkman_auto_env = false" gesetzt ist, wird nicht automatisch umgeschaltet, selbst wenn Sie in das Verzeichnis wechseln, in dem sich .sdkmanrc befindet.
Sie müssen sdk env
ausführen, um zu wechseln.
$ 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