На 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?
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.
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