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

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

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

3 ответа

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

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

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

update-alternatives --display javac
0
ответ дан 24 January 2012 в 03:54

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

0
ответ дан 24 January 2012 в 03:54

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

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

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

0
ответ дан 24 January 2012 в 03:54

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

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