Как запустить несколько приложений Java с разными версиями?

Я использую Ubuntu 18.04 LTS, и у меня есть 2 приложения, которые нужно запускать с разными Версии Java. Мое первое приложение (Mirth Connect) должно работать на jre1.8.0_171, а мое второе приложение (Power Assist) должно работать на java-11-openjdk-amd64.

$ sudo update-alternatives --config java

There are 3 choices for the alternative java (providing /usr/bin/java).
  
0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java   
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java   
2 /usr/lib/jvm/jdk-16.0.2/bin/java              
3 /usr/local/java/jre1.8.0_171/bin/java        

Как заставить мое первое приложение работать с 3, а второе - с 1?

$ sudo gedit /etc/profile

if [ "${PS1-}" ]; then
  if [ "${BASH-}" ] && [ "$BASH" != "/bin/sh" ]; then
    # The file bash.bashrc already sets the default PS1.
    # PS1='\h:\w\$ '
    if [ -f /etc/bash.bashrc ]; then
      . /etc/bash.bashrc
    fi
  else
    if [ "`id -u`" -eq 0 ]; then
      PS1='# '
    else
      PS1='$ '
    fi
  fi
fi

if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi

JAVA_HOME=/usr/local/java/jre1.8.0_171
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH
0
задан 26 August 2021 в 13:04

1 ответ

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

export PATH=/usr/lib/jvm/java-11-openjdk-amd64/bin:$PATH
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

Первое изменение приводит к тому, что исполняемый файл java по адресу / usr / lib / jvm / java-11-openjdk-amd64 / bin / обнаруживается при запуске Java . Второе изменение обновляет переменную среды JAVA_HOME .

1
ответ дан 4 September 2021 в 09:27

Другие вопросы по тегам:

Похожие вопросы: