Так или иначе я закончил с двумя каталогами для OpenJdk 8 в моей системе Ubuntu 16.04:
/usr/lib/jvm/java-8-openjdk-amd64
/usr/lib/jvm/java-1.8.0-openjdk-amd64
Проблема состоит в том, что первый каталог, кажется, поврежден. Если я делаю /usr/lib/jvm/java-8-openjdk-amd64/bin/java HelloWorld
на существующем HelloWorld.class
файл, я не получаю ничего, но выполнения /usr/lib/jvm/java-1.8.0-openjdk-amd64/bin/java HelloWorld
производит ожидаемый вывод.
Теперь посмотрите на это:
core$ ll /etc/alternatives/jav*
lrwxrwxrwx 1 root root 42 Nov 7 11:02 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/bin/java*
lrwxrwxrwx 1 root root 52 Nov 2 19:32 /etc/alternatives/java.1.gz -> /usr/lib/jvm/java-9-openjdk-amd64/man/man1/java.1.gz
lrwxrwxrwx 1 root root 43 Nov 2 19:35 /etc/alternatives/javac -> /usr/lib/jvm/java-8-openjdk-amd64/bin/javac*
lrwxrwxrwx 1 root root 53 Nov 2 19:35 /etc/alternatives/javac.1.gz -> /usr/lib/jvm/java-8-openjdk-amd64/man/man1/javac.1.gz
lrwxrwxrwx 1 root root 45 Nov 2 19:35 /etc/alternatives/javadoc -> /usr/lib/jvm/java-8-openjdk-amd64/bin/javadoc*
lrwxrwxrwx 1 root root 55 Nov 2 19:35 /etc/alternatives/javadoc.1.gz -> /usr/lib/jvm/java-8-openjdk-amd64/man/man1/javadoc.1.gz
lrwxrwxrwx 1 root root 43 Nov 2 19:35 /etc/alternatives/javah -> /usr/lib/jvm/java-8-openjdk-amd64/bin/javah*
lrwxrwxrwx 1 root root 53 Nov 2 19:35 /etc/alternatives/javah.1.gz -> /usr/lib/jvm/java-8-openjdk-amd64/man/man1/javah.1.gz
lrwxrwxrwx 1 root root 43 Nov 2 19:35 /etc/alternatives/javap -> /usr/lib/jvm/java-8-openjdk-amd64/bin/javap*
lrwxrwxrwx 1 root root 53 Nov 2 19:35 /etc/alternatives/javap.1.gz -> /usr/lib/jvm/java-8-openjdk-amd64/man/man1/javap.1.gz
Все они указывают на 8
каталог, и нет 1.8
, который вызывает проблемы при запущении программ. Мой вопрос: Как это смешивало, появляются, и что лучший способ состоит в том, чтобы уладить это? Я хотел бы удалить все остальное и иметь OpenJDK 8 как мой JDK по умолчанию.
Хорошо, таким образом, проблема в моем случае состояла в том, что я невольно установил openjdk бездисплейный также и таким образом закончил с двумя установками. Я наконец удалил весь jdks из своей системы и установил JDK 9 (который не является безаварийной установкой, я мог бы добавить!) и теперь все кажется отсортированным!
Выберите версию Java:
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-8-oracle/jre/bin/java 1081 auto mode
1 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode
* 2 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 manual mode
Press <enter> to keep the current choice[*], or type selection number:
можно также видеть альтернативы для java
, javac
при помощи --list
опция:
sudo update-alternatives --list java
sudo update-alternatives --list javac