Статьи

Управление несколькими установками Java

По мере появления новых и новых версий Java будет интереснее управлять несколькими установками Java в вашей локальной среде. Разные проекты могут требовать разные версии Java.

Проект jenv — это удобный способ управления установками Java. Он может устанавливать локальные установки Java на глобальном уровне, уровне каталогов и оболочки и использует легко запоминаемые идентификаторы версий Java:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
$> jenv versions
  11
  12.0
  13.0
  1.8
* 1.8.0.152
  9.0
  9.0.4
  openj9-jdk-12.0.1
  openj9-jdk-13.0.1
  openjdk64-11.0.2
  openjdk64-12.0.1
  openjdk64-13.0.1
  oracle64-1.8.0.152
  oracle64-9.0.4
 
# switch to JDK 13 globally
$> jenv global 13.0
 
# switch to JDK 9 locally
$> cd project/
$> jenv local 9.0
 
$> java -version
java version "9.0.4"
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)
 
$> cd .. && java -version
openjdk version "13.0.1" 2019-10-15
OpenJDK Runtime Environment AdoptOpenJDK (build 13.0.1+9)
Eclipse OpenJ9 VM AdoptOpenJDK (build openj9-0.17.0, ...)

Jenv хранит локальную версию Java в файле .java-version .

Jenvs работает, объявляя двоичные файлы java обертки, которые указывают на соответствующую установку в зависимости от контекста.

Сценарии оболочки также могут устанавливать определенную версию с помощью переменной среды JENV_VERSION :

1
2
3
4
5
6
#!/bin/bash
 
JENV_VERSION='13.0'
 
# will use JDK 13
java -version

Некоторое содержимое этого поста было размещено в моем выпуске бюллетеня 025 .

Опубликовано на Java Code Geeks с разрешения Себастьяна Дашнера, партнера нашей программы JCG. См. Оригинальную статью здесь: Контейнеры с готовым кодом — начало работы с проектом вознаграждений сотрудников HR в облаке

Мнения, высказанные участниками Java Code Geeks, являются их собственными.