Разрешение конфликта версий между java и javac на Ubuntu

у меня проблема с моим скомпилированным Java-приложением на Ubuntu. Он бросает UnsupportedClassVersionError. Я компилирую с более высокой версией JDK, чем та, которая настроена в моем пути для запуска Java:

$ javac -version
javac 1.7.0_147

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

Как я могу решить это?

4 ответов


выполните одно из следующих действий, чтобы найти, где находится это

javac 1.7.0_147

используется следующим образом:

whereis javac

или

 locate javac

или

find javac

затем, как только вы нашли каталог, символически и принудительно свяжите содержимое bin с /usr/bin:

sudo ln -f -s [put location here]/bin/* /usr/bin

введите следующую команду в терминале :

  sudo update-alternatives --config java

он попросит вас:

есть 2 варианта для альтернативной java (предоставление /usr/bin/java).

  Selection      Path                                            Priority   Status

    0           /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      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  1051      manual mode


  Press enter to keep the current choice[*], or type selection number:

Я ввожу 2, поскольку я хочу использовать java 1.7.0_21


Вам также нужно будет делать:

sudo update-alternatives --config javac

выберите нужный компилятор java из предоставленного списка. Например на Centos 5

There are 2 programs which provide 'javac'.
Selection    Command
-----------------------------------------------
1           /usr/lib/jvm/java-1.6.0-openjdk/bin/javac
*+ 2        /usr/lib/jvm/java-1.7.0-openjdk/bin/javac

Это то, что вы хотите Java и Ubuntu. У меня такая же конфигурация в основном, но я переключаюсь туда и обратно от Glassfish и Java7. Взгляните и попробуйте настроить Java env аналогичным образом