Как установить версию Java по умолчанию

7

Я использую Java 6 на Ubuntu 11.10, но теперь хочу обновить до версии 7. Я установил версию 7 через PPA , как описано здесь . Если я запустил

sudo update-alternatives --config java

Я получаю следующий вывод:

There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                     Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-oracle/jre/bin/java   64        auto mode
  1            /usr/lib/jvm/java-6-sun/jre/bin/java      63        manual mode
* 2            /usr/lib/jvm/java-7-oracle/jre/bin/java   64        manual mode

Аналогично, если я запускаю:

sudo update-alternatives --config javac

Я получаю вывод:

  Selection    Path                                  Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-oracle/bin/javac   64        auto mode
  1            /usr/lib/jvm/java-6-sun/bin/javac      63        manual mode
* 2            /usr/lib/jvm/java-7-oracle/bin/javac   64        manual mode

Итак, похоже, что версия 7 уже по умолчанию. Но если я запустил либо

java -version

или

javac -version

Вывод показывает, что версия 6 по-прежнему по умолчанию. Как установить значение по умолчанию для версии 7?

    
задан Dónal 15.06.2013 в 22:36
источник

6 ответов

3

Вам также нужно установить javac .

sudo update-alternatives --config javac
    
ответ дан Paradiesstaub 15.06.2013 в 22:41
3

В соответствии с этим ответом: Как установить версию Java по умолчанию?

Сначала попробуйте указать явный путь вместе с update-alternatives --install , а затем запустите update-alternatives , чтобы сделать свой выбор:

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/java-7-oracle/jre/bin/java" 1

sudo update-alternatives --config java

sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/java-7-oracle/bin/javac" 1

sudo update-alternatives --config javac
    
ответ дан Aaron 15.07.2014 в 20:07
1

У меня была та же проблема. У меня установлено солнце jdk6. После того, как

    sudo update-alternatives --config java
    sudo update-alternatives --config javac
    sudo update-alternatives --config javaws

мне понадобился перезапуск. Чем это сработало.

Изменить: Я понял, что этого недостаточно, чтобы выполнить описанные выше шаги.

Мне также пришлось отредактировать переменную окружения:

    sudo nano /etc/environment

И добавьте (для другой версии Java потребуется другая строка):

    JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64"
    
ответ дан Chris S 12.08.2015 в 15:02
0

вставьте номер, который идентифицирует нужный путь, и нажмите enter. в этом случае вставьте 1.

наконец, попробуйте протестировать версию java -version

    
ответ дан obysr 15.06.2013 в 23:50
0

Я предполагаю, что ваш java-бинамент указывает на то, что-то другое, кроме /etc/alternatives/java .

Проверьте вывод: type java

Говорит ли он /usr/bin/java ? Если это так, проверьте, правильно ли это соответствует альтернативам:

ls -l /usr/bin/java должно показать, что оно указывает на /etc/alternatives/java .

Наконец, убедитесь, что /etc/alternatives/java сам указывает на java-7:
ls -l /etc/alternatives/java .

Команда update-alternatives настраивает только последнюю и предполагает, что значение по умолчанию указывает на /usr/bin/java , которое, в свою очередь, правильно связано с /etc/alternatives/java .

    
ответ дан sumwale 15.07.2014 в 20:40
0

Я пробовал почти все перечисленные выше методы, но все же нашел java -version напечатал неверную версию, а ls -al /etc/alternatives/java уже указал на правый.

Итак, я запустил: which java и обнаружил, что результат показывает, что я использовал java из /usr/local/jdk_xxx/bin/java , затем я удалил эту папку и перезапустил терминал. Теперь Java работает хорошо.

Надеюсь, что это поможет другим.

    
ответ дан Xinjing 29.07.2016 в 08:31