update-java-альтернативы против обновления-альтернатив --config java

На Ubuntu 12.04 LTS я установил Sun JDK7, Eclipse и Arduino IDE. Я хочу, чтобы Arduino использовал OpenJDK 6, и чтобы Eclipse использовал Sun JDK 7.

Насколько я понимаю, мне нужно вручную выбирать, какую Java использовать, перед запуском каждого приложения. Это привело меня к команде update-java-alternatives -l. Когда я запускаю это, я вижу только следующее:

java-1.6.0-openjdk-amd64 1061 /usr/lib/jvm/java-1.6.0-openjdk-amd64

, но когда я запускаю update-alternatives --config java, я вижу следующее:

*0  /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   auto mode
1  /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   manual mode
2  /usr/lib/jvm/jdk1.7.0/bin/java                   manual mode
3  /usr/lib/jvm/jre1.7.0/bin/java                   manual mode

Я не понимаю, почему update-java-alternatives не отображает те же 3 варианта. Я также не понимаю, как переключаться между OpenJDK6 и JDK7. Как я могу использовать OpenJDK6 для разработки Arduino и Sun JDK7 для разработки Eclipse / Android?

98
задан 23 August 2015 в 22:36

2 ответа

sudo update-alternatives --config java

Настраивает значение по умолчанию для программы «java». Это Java VM.

sudo update-alternatives --config javac

Конфигурирует компилятор Java по умолчанию.

Вы также можете видеть это, потому что первая команда перечисляет много папок «JRE» (Java Runtime Environment), а Программа просто называется «java».

Если я проверю, какая версия используется, введя команду java -version или javac -version, я увижу, что каждая команда меняет используемую программу.

Однако, использование update-java-alternatives с версией JDK изменяет обе программы для меня. Используя первые команды, вы можете использовать Java VM и Java Compiler из разных JDK.

Так что, похоже, вам нужно установить и пакет openjdk-7-jdk. Похоже, вы только установили openjdk-7-jre.

Что касается переключения для различных сред разработки:

Вы говорите о запуске самой IDE с разными версиями Java или об использовании разных версий в IDE для компиляции и запуска вашего приложения? [ 1118]

Для 1 .: Вы можете указать, какую JVM использовать в eclipse.ini, как описано здесь здесь . Я не знаю, как это сделать для Arduino IDE.

Для 2 .: В Eclipse вы можете выбрать JRE / JDK для использования в Window -> Preferences -> Java -> Installed JRE. А в Java -> Compiler вы можете выбрать более старую совместимость с Java, если хотите.

РЕДАКТИРОВАТЬ: Эта страница DigitalOcean также имеет очень хорошее объяснение всего, что связано с Java в Ubuntu.

0
ответ дан 23 August 2015 в 22:36

update-java-alternatives - это программа для обновления альтернатив для jre/jdk установок.

update-alternatives - это система управления символическими ссылками для linux (я уверен, что здесь мало новостей).

Вы можете и действительно должны использовать оба update-java-alternatives и update-alternatives вместе.

Во-первых, убедитесь, что все альтернативы настроены правильно. java и javac - это всего лишь несколько. Есть javadoc, rmic, serialver и другие, заменяющие вышеуказанные переменные на: native2ascii и /opt/jdk1.8.0_40/bin/native2ascii должны сообщать, установлена ​​ли альтернатива и / или выбрана.

Когда все альтернативы настроены, вы можете создать ссылки в /usr/lib/jvm на вашу ручную установку.

Для настройки update-java-alternatives вы должны использовать скрытый файл с тем же именем, что и ваш каталог, но с префиксом a. (Точка).

Надеюсь, это поможет.

Библиография

man -S 8 update-java-alternatives

http://tech.lanesnotes.com/2008/03/using-alternatives-in-linux-to-use.html [ 1113]

https://stackoverflow.com/questions/6477415/how-to-set-oracles-java-as-the-default-java-in-ubuntu

0
ответ дан 23 August 2015 в 22:36

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

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