Статьи

Как запустить несколько версий всех ваших инструментов разработки с Jenv

Если вам нужен независимый от платформы инструмент, который позволяет вам управлять несколькими установками Java-приложений, таких как Maven, Gradle и Tomcat, тогда jenv — правильный выбор. С помощью jenv вы можете легко установить несколько версий бок о бок и легко выбрать, какую из них использовать для всей системы или только для отдельной оболочки. Это делает сборку одного проекта с Maven 3.1, а другого с 3.5 проще простого.

Представляем jenv

В экосистеме Java есть большое количество инструментов, которые вы, возможно, захотите использовать — от самой Java до создания инструментов, таких как Maven и Gradle, до сторонних приложений, таких как ActiveMQ и Tomcat. Зачастую вам понадобятся разные версии этих инструментов в разных проектах или вы захотите попробовать проект в разных версиях для тестирования совместимости.

Управление этими различными версиями может быть сложной задачей. У каждого инструмента будут разные способы их получения, установки, контроля над используемой версией, чтобы вообще все делать.

К счастью, существует инструмент, который может сделать жизнь намного проще в этом отношении: jenv (не путать с jEnv , который устанавливает JAVA_HOME Этот инструмент, доступный в Windows, Mac и Linux, упрощает управление несколькими версиями большого количества инструментов на основе Java. На момент написания статьи это может работать с более чем 200 различными инструментами, которые вы можете использовать.

Установка jenv варьируется в зависимости от используемой вами платформы, но на сайте даны четкие инструкции, как именно это сделать. Хотя все примеры написаны с точки зрения Mac, они в равной степени применимы к любой поддерживаемой системе.

Установка нового инструмента

Установить новый инструмент так же просто, как:

 $ gradle
-bash: gradle: command not found

$ jenv install gradle
Installing: gradle 3.5
Parsing http://jenv.mvnsearch.org/candidate/gradle/download/3.5/Darwin/x86_64

Downloading: gradle 3.5

Downloading http://get.jenv.mvnsearch.org/download/gradle/gradle-3.5.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 69.8M  100 69.8M    0     0   390k      0  0:03:03  0:03:03 --:--:--  350k

Do you want gradle 3.5 to be set as default? (Y/n): y
Setting gradle 3.5 as default.
Done installing!

Это в одной команде:

  • определили последнюю версию инструмента
  • скачал инструмент
  • установил его в локальной системе
  • настроил локальную систему для использования этой версии инструмента по умолчанию

И это работает:

 $ gradle
Starting a Gradle Daemon (subsequent builds will be faster)
:help

Welcome to Gradle 3.5.

To run a build, run gradle <task> ...

To see a list of available tasks, run gradle tasks

To see a list of command-line options, run gradle --help

To see more detail about a task, run gradle help --task <task>

BUILD SUCCESSFUL

Total time: 2.691 secs

Установка определенной версии инструмента

Если вместо этого вы хотите установить конкретную версию инструмента, вы должны сделать:

 $ jenv install tomcat 7.0.68
Installing: tomcat 7.0.68
Parsing http://jenv.mvnsearch.org/candidate/tomcat/download/7.0.68/Darwin/x86_64

Downloading: tomcat 7.0.68

Downloading http://get.jenv.mvnsearch.org/download/tomcat/tomcat-7.0.68.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 9268k  100 9268k    0     0   233k      0  0:00:39  0:00:39 --:--:--  342k

Do you want tomcat 7.0.68 to be set as default? (Y/n): n
Done installing!

Точно так же, как указано выше, но указав номер версии, мы получим эту версию.

Просмотр доступных версий для установки

Чтобы установить конкретную версию, вам может понадобиться узнать, какие есть варианты. Это возможно просто:

 $ jenv ls maven
Available maven Versions
=========================
>* 3.5.0
 * 3.3.9
 * 3.3.3
   3.3.1
 * 3.2.5
   3.2.3
   3.2.2
   3.2.1
   3.1.1
   3.1.0
   3.0.5-mvnsearch
 * 3.0.5
 * 3.0.4
   2.2.1
   2.0.11

Этот список на самом деле показывает три разные вещи в одном:

  • каждая строка — это версия, поддерживаемая jenv
  • каждая строка со звездочкой рядом с ней уже загружена и готова к использованию
  • строка со стрелкой рядом с ней — версия, которая используется в настоящее время

Таким образом, вышеизложенное показывает, что я скачал Maven 3.5.0, 3.3.9, 3.3.3, 3.2.5, 3.0.5 и 3.0.4, и что в настоящее время я использую 3.5.0.

Переключение версий инструмента

Если у вас установлено несколько версий, и вам нужно перейти с одной на другую, это достигается следующим образом:

 $ jenv use maven 3.0.4
Using maven(3.0.4) in this shell.

Стоит отметить, что это меняет его для этой оболочки . Любые другие открытые сеансы не будут затронуты этой командой, что делает ее совершенно безопасной для использования в любое время, когда вы хотите провести быстрый тест, или при работе над несколькими проектами одновременно.

Изменение версии по умолчанию — используемой во всех оболочках — выполняется вместо этого с помощью команды:

 $ jenv default maven 3.5.0
Default maven version set to 3.5.0

Использование jenv для сортировки инструментов

Резюме

Инструмент jenv упрощает установку инструментов на основе Java в вашей системе (с jenv installjenv use Эта статья дала очень краткое введение в то, что может быть достигнуто с помощью этого инструмента, но есть еще много чего, с чем он может помочь. Обязательно прочитайте веб-сайт и справку по инструменту и, наконец, перестаньте беспокоиться об управлении цепочками инструментов Java.