Как мне перейти на последнюю версию Java 7, не теряя при этом существующих зависимостей и надстроек Java?

$ uname -a
Linux X51 3.0.0-12-generic #20-Ubuntu SMP Fri Oct 7 14:56:25 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

$ java -version
java version "1.6.0_23"
OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre11-0ubuntu1.11.10.2)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)

У меня есть версии выше, которые имеют важные стабильные настройки (для моего собственного приложения):

  • К сожалению, я всегда работал с Java 1.6, как показано.
  • Но теперь обнаружил, что многие вещи не работают из-за этой версии проблемы.
  • Я хочу удалить:

a) старый java полностью (безопасно)

b) переключиться на новый, установить openjdk-7 64-bit (безопасно) )

Лучше просто применить apt-get remove openjdk*.?

Или

, что еще будет умнее и безопаснее? (чтобы не потерять много других зависимостей только для удаления openjdk-6)

Последующие действия:

$ java -version
java version "1.7.0_09"
OpenJDK Runtime Environment (IcedTea7 2.3.3) (7u9-2.3.3-0ubuntu1~12.10.1)

$ sudo update-alternatives --config java
[sudo] password for sun: 
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      auto mode
  1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      manual mode

Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java to provide /usr/bin/java (java) in manual mode

$ java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-0ubuntu1~12.10.1)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
3
задан 18 November 2012 в 17:18

1 ответ

что еще было бы умнее и безопаснее? (чтобы не потерять много других зависимостей только для удаления openjdk-6)

Самый умный способ - это обеспечить обратную совместимость и установить их оба (Java 7 Я думаю, что он все еще находится в стадии разработки.

Установите OpenJDK 7 и все, что вам нужно, а затем используйте sudo update-alternatives --config java, чтобы показать вам различные доступные java двоичные файлы и их расположения, и выберите по умолчанию [ 118] (вызывается, когда вы просто набираете java).

Это позволяет вам при необходимости использовать Java 6, просто вызывая его по полному пути к двоичному файлу. Замените java на javac и т. Д. В update-alternatives и установите их тоже.

Когда вы решите, что весь ваш код / ​​программы работает стабильно на 1.7 и хотите избавиться от 1.6, запустите dpkg --list | grep -i openjdk, чтобы узнать, какие пакеты установлены в вашей системе, прежде чем запускать что-то вроде apt-get remove openjdk.* !! [ 1113]

0
ответ дан 18 November 2012 в 17:18

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

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