Что происходит, когда установлены две версии команды терминала?

Например, у меня установлены OpenJDK 6 и 7. Если я запустил javac foo.java, будет компилировать мою программу как программу на Java 6 или программу на Java 7

4
задан 24 January 2012 в 05:54

3 ответа

На дистрибутивах на базе Debian есть так называемая «альтернатива», которая позволяет иметь более одной установленной программы, которая выполняет ту же функцию (в нее также входят разные версии одной и той же программы, такие как Java 6 и Java 7). Как указывает @ user15936, система работает, манипулируя символическими ссылками, поэтому «javac» может указывать на исполняемый файл либо из OpenJDK 6, либо из OpenJDK 7

Команда для управления вышеупомянутыми символическими ссылками (процесс находится в факт более сложный, чем тот, который включает в себя некоторую конфигурацию, например, изменения manpages и т. д.) - называется update-alternatives. Вы можете узнать, как использовать его, набрав man update-alternatives в терминале.

Чтобы напрямую ответить на ваш вопрос, можно определить другой исполняемый файл javac, выполнив

update-alternatives --display javac
4
ответ дан 25 May 2018 в 14:56
  • 1
    Существует даже специализированный update-java-alternatives. – user unknown 24 January 2012 в 05:50

Ответ зависит от того, что связано с /usr/bin/javac

. Это будет выполнено.

Вы можете увидеть это, перейдя в /usr/bin/ и посмотрите, что ссылка javac связана с ls -l javac.

1
ответ дан 25 May 2018 в 14:56

Вы должны ввести терминал javac -version, и там вы получите свой ответ ...

-1
ответ дан 25 May 2018 в 14:56
  • 1
    В этом ответе нет ничего плохого, особенно для пользователей, где Oracle Java (JVM / JDK) больше не предоставляется как .deb & amp; они установлены вручную. Очень рекомендуемое чтение, особенно о скрипте «update java», который будет устанавливать различные альтернативы - webupd8.org/2011/09/how-to-install-oracle-java-7-jdk-in.html – doug 24 January 2012 в 05:52
  • 2
    Я не проголосовал, но java и javac могут принадлежать к разным версиям. – user unknown 24 January 2012 в 05:53

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

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