Ubuntu, похоже, больше поддерживает OpenJDK / JRE, чем Sun JDK / JRE. Даже после того, как я установил Sun JRE, JDK и плагин и потратил некоторое время на извлечение пакетов, связанных с OpenJDK, apt-get установил их обратно с некоторыми пакетами в качестве зависимости. Можно ли исправить это поведение в пользу пакетов Sun Java? Мне бы хотелось, чтобы был установлен один-единственный стек Java (да, это немного OCD , но я бы хотел, чтобы мои системы были чистыми), и хочу, чтобы это была Sun Java.
Обновление: как отмечает Маркос Рориз, проблема, по-видимому, в default-jre (от которого зависят зависимые от Java пакеты), указывающем на OpenJDK, поэтому возникает вопрос о том, как взломать default-jre / default-jdk, чтобы указать Солнцу Яве.
Ответы:
Установка Sun Java на более ранние версии Ubuntu (9.10 и ниже)
У меня была такая же проблема около трех лет назад с Ubuntu 8.04, я думаю. При использовании openjre возникла странная проблема, и проблема была решена с помощью версии sun jre. Вот шаги в терминале, которые применяются к версиям ниже 10.04, так как начиная с 10.04 sun java была удалена и заменена openjre:
(Все, что связано с Sun Java. Просто чтобы убедиться)
После этого, если вы удалите openjdk, у вас будет только Sun Java. Если вы не удалили его, то у вас есть оба. Чтобы перейти от одного к другому, сделайте это:
sudo update-java-alternatives -l
- Это покажет вам список Java-движков, которые вы можете использовать.Имя альтернативы java указано слева, поэтому, например, openjdk будет выглядеть так:
И вы должны установить систему для openjdk следующим образом:
Если вы хотите использовать Sun, вы должны сделать это (после установки пакетов Sun):
Если вы хотите использовать версию Java 7, просто измените номер 6, упомянутый выше, на 7. Например, если я хочу установить версию 7 openjre, я бы:
Установка Sun Java на более новые версии Ubuntu (10.04 и выше)
Откройте терминал и введите следующее:
Это должно установить версию Sun Java в вашей системе. Чтобы перейти на него, просто сделайте следующее, если у вас есть другие альтернативы Java:
Если вы хотите, чтобы установка происходила автоматически, введите следующее:
после этого просто сделайте следующее, чтобы установить переменные среды по умолчанию:
Обратите внимание, что PPA включает в себя версии 6, 7 и 8. Таким образом, вы можете установить любую из них, просто изменив номер в строке установки, например:
Установит Java 8. После установки версии Java, которую вы хотите использовать, и установкой версии по умолчанию с помощью
update-java-alternatives
команды, вы можете проверить, какую версию вы используете, набрав следующее:Он покажет вам версию по умолчанию, которую вы используете в данный момент.
Я также хотел бы отметить, что OpenJRE / JDK прошел долгий путь 2 или 3 года назад, когда у него было много проблем, которые были решены путем перехода на Sun Java.
источник
Я думаю, проблема в том, что некоторые Java-пакеты используют default-jre, который указывает на openjdk-jre. Я не думаю, что есть простой способ окончательно удалить openjdk. Дело в том, что вы, вероятно, снова столкнетесь с openjdk при установке java-пакета / программы.
Но если вы хотите иметь и то, и другое, легко ли настроить программы времени выполнения java (java, javah, javap и т. Д.) На реализацию sun. Сделай это:
или если вы являетесь Java-разработчиком (установите SDK и SRC):
И установите его в качестве программ по умолчанию с помощью:
источник
default-jre
пакет так, чтобы он указывал на солнечную яву этим вечером. Прямо сейчас я @ работа..jdk1.6.0_23.jinfo
Файл должен быть список поставляемых программ и их пути. Существует описательный заголовок, за которым следует пустая строка. Затем список программ в формате трех полей: тип записи (jre / jkd / plugin); название программы; и путь. У вас должно быть несколько jinfo-файлов, которые вы можете использовать, чтобы увидеть, как должно выглядеть содержимое. Вероятно, это используется механизмом альтернатив, чтобы определить, какие ссылки создавать. Глава моего пакета Sun.Если вы хотите переопределить команды Java по умолчанию без использования механизма альтернатив, поместите ваш путь Java перед / usr / bin в вашем пути.
При ручной установке я устанавливаю Java в
/opt
. для вашей установки я бы установил в/opt/jdk1.6.0_23
. Затем я помещаю путь$JAVA_HOME/bin
в начало моейPATH
переменной.РЕДАКТИРОВАТЬ: Это весь файл Sun. Примечание
.java-6-sun.jinfo
является символической ссылкой на.java-6-sun-1.6.0.22.jinfo
.источник
Удалить openjdk и icedtea:
добавьте следующее в /etc/apt/sources.list
установить Sun / Oracle JRE или JDK:
источник
Вы это проверяли?
Если вам это не нужно: удалите openjdk и gcj в synaptic или с помощью apt-get.
Тогда я запретил бы java альтернативам, и сделал бы в основном так, как предложил БиллТор, почему я дал ему голос.
должен указать, где вы установили Java, и где он находится в PATH.
источник
which
команды и ничего не печатает. Обнаружил, что я забыл символ $ перед переменной JAVA_HOME в PATH, сейчас перезапущу и посмотрю, как это происходит.which
команда все равно ничего не показывает. И переменные JAVA_HOME и PATH являются правильными: echo $ JAVA_HOME /usr/lib/jvm/jdk1.6.0_23 echo $ PATH $ JAVA_HOME / bin: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games В чем может быть проблема? Редактировать: Черт возьми, почему в комментариях нет разрывов строк?echo $PATH $JAVA_HOME/bin:/usr/local/sbin...
но в результате $ JAVA_HOME должен быть оценен - что-то не так, или ваши сообщения ошибочны. c) Разрывы строк: их там нет, поэтому мы постоянно нажимаем ENTER слишком рано, а затем тикают часы, потому что редактирование разрешено всего на несколько минут - я постоянно захожу в эту ловушку. Я ненавижу это! :)echo $JAVA_HOME
echo $PATH
печать$JAVA_HOME...
или он напечатает значение для JAVA_HOME, а именно:/usr/lib/jvm/jdk1.6.0_23
?java -version
в оболочке (будет отображаться только Sun Java)sudo update-java-alternatives -l
и это работает, только если у вас установлено два jdk и вы хотите установить sun-java в качестве среды по умолчанию
источник
При использовании Ubuntu 10.10, вам нужно сначала пометить удаление libaccess-bridge-java в Synaptic, а затем пометить openjdk-6-jre-headless.
Я закончил со списком, который нужно удалить:
Это сработало, но оставило каталог
/etc/java-6-openjdk
с различными файлами и подкаталогами внутри, который я выделил в новом каталоге. Там не было никаких необычных эффектов, так что, вероятно, это просто остатки.Это оставило меня с Java, которую я скачал прямо с сайта Java. Однако, несмотря на то, что он задан по умолчанию и создана ссылка на каталог плагинов Firefox, он больше не работает. После установки sun-java6-jre и связанных с ним пакетов gsfonts-x11, odbcinst, odbcinst1debian2, sun-java6-bin и unixodbc через Synaptic Java-плагин начал работать снова. Удаление ссылки в каталоге плагинов и замена ее настоящим файлом libnpjp2.so не работали. Использование ссылки на файлы libjavaplugin_oji.so в каталогах ns7 или ns7-gcc29 в Java, установленных через Synaptic, также не работало. Это наводит меня на мысль о том, что, чтобы получить последний плагин Java в Firefox, можно следовать инструкциям на веб-сайте Java, и что для запуска загруженной Java необходима интегрированная Linux Java любой разновидности. который затем использует свою работу над файлами, окружающими его, после активации плагина. В то время как полное понимание кода, включающего в себя Java и Linux, потребовало бы по-настоящему разгадать его загадки, возможно, эти эксперименты помогут найти причины, по которым в этом случае могут понадобиться две Java. По крайней мере, можно также удалить всю Java, если кому-то это будет полезно.
источник
То, что я делаю на новых машинах Ubuntu 10.10, это
Тогда это нормально для меня, нет больше OpenJDK зависимостей
источник
Ответы на этот вопрос не сработали для меня. То есть следующее не удалось:
С ошибкой:
Попробуйте вместо этого эти инструкции :
icedtea-6-jre-cacao
), если он установлен.OpenJDK (IcedTea) теперь установлен, что должно позволить вам (если у вас была эта ошибка) продолжить установку Oracle JDK без ошибок.
Смотрите также:
источник
Во-первых: удалите openjdk и плагин icedtea.
Второе: скопируйте файл .bin jdk в / opt или / usr / java и распакуйте его.
Третье: поместите ссылку на файл Java в / usr / bin /
обновить альтернативы, используя update-альтернативы
Создайте символическую ссылку на плагин Java в каталоге плагинов Firefox.
Создайте символическую ссылку на файл libnpjp2.so подключаемого модуля Java в каталоге подключаемых модулей Firefox:
Надеюсь это поможет.
источник