IntelliJ akzeptiert kein Java 9 JDK

7

Ich versuche, Java 9 in IntelliJ zu verwenden, während ich Ubuntu 16.4 mit einem KDE-Desktop verwende.
Ich kann meine JDK-Datei im Editor nicht auswählen. Ich habe Java 8 und 9 installiert, und derzeit ist Java 9 so eingestellt, dass es mit dem Java-Befehl ausgeführt wird. Als Nebenbemerkung: Ich kann jshell verwenden.

$ java -version kehrt zurück:

openjdk version "9-internal"
OpenJDK Runtime Environment (build 9-internal+0-2016-04-14-195246.buildd.src)
OpenJDK 64-Bit Server VM (build 9-internal+0-2016-04-14-195246.buildd.src, mixed mode)

und das ist mein $ ls -l /usr/lib/jvm:

lrwxrwxrwx 1 root root   24 Feb 25  2016 default-java -> java-1.8.0-openjdk-amd64
lrwxrwxrwx 1 root root   20 Okt 28 00:51 java-1.8.0-openjdk-amd64 -> java-8-openjdk-amd64
lrwxrwxrwx 1 root root   20 Apr 14  2016 java-1.9.0-openjdk-amd64 -> java-9-openjdk-amd64
drwxr-xr-x 7 root root 4096 Nov 11 18:03 java-8-openjdk-amd64
drwxr-xr-x 7 root root 4096 Nov 11 18:04 java-9-openjdk-amd64

Screenshot des IntelliJ-Auswahlfensters
Wenn ich OK drücke, während Java-1.8.0 ausgewählt ist, wird es als JDK akzeptiert. Wenn ich jedoch den Ordner darunter auswähle, der Java-1.9.0 enthält, wird mir mitgeteilt, dass das ausgewählte Verzeichnis kein gültiges Zuhause für JDK ist. Wie hier gezeigt.
Es macht keinen Unterschied, ob ich den Link java-1.9.0-openjdk-amd64 oder das Verzeichnis java-9-openjdk-amd64 verwende.

Wenn es von Bedeutung ist: Ich habe openjdk mit dem Befehl apt installiert.

Bearbeiten:

  • Ich verwende IntelliJ IDEA Version 2017.2.5
  • Ich habe das openJDK 9 installiert: sudo apt install openjdk-9-jdkund hatte dann einen Fehler in dpkg, der mithilfe von behoben wurdesudo apt-get -o Dpkg::Options::="--force-overwrite" install openjdk-9-jdk
Nick Dewitte
quelle
Haben Sie die letzte Version von IntelliJ? Sie benötigen, wie ich weiß, 2017.2 Version
Doudou
Java 9 wird in allen Versionen 2017 vollständig unterstützt
minion91
Welche IntelliJ-Version verwenden Sie und wie haben Sie OpenJDK 9 installiert?
David Foerster
Ich habe genau das gleiche Problem mit v2017.3, nachdem ich dieselben Installationsschritte wie Sie ausgeführt habe.
Ashish Chaudhary
1
Dies ist meiner Meinung nach ein Fehler, der Aufmerksamkeit erfordert.
Gayan Weerakutti

Antworten:

3

Ich hatte ein ähnliches Problem, aber ich habe es umgangen. Versuche dies.

  1. Laden Sie Java JDK 9 zip oder tar.gz herunter (ich habe dies verwendet, damit alles, was ich danach sage, dies widerspiegelt).

  2. Extrahieren Sie nach dem Herunterladen die tar.gz-Datei an einem Ort Ihrer Wahl (bitte notieren Sie sich den Ort, auf den Sie später zurückkommen werden).

  3. Öffnen Sie IntelliJ und gehen Sie unter Dateien zur Projektstruktur . Navigieren Sie unter Project SDK zu dem Speicherort in 2. oben und wählen Sie ihn aus.

Alternativ gehen Sie zu Dateien > Projektstruktur > Platform Einstellungen . Fügen Sie erneut die Position in 2. oben hinzu (grünes Pluszeichen), wenn Sie sie nicht im Bereich sehen.

Ich hoffe, dies wird Ihnen helfen und Sie werden Java 9 sowie jShell genießen.

Mexen
quelle
Ich schlage vor, die .tar.gz-Datei in Schritt 2 in ein Root-Verzeichnis wie/usr/local/bin
karel
Zunächst einmal vielen Dank! In Schritt 2 habe ich die Datei tar.gz nach / usr / local / bin / java extrahiert (den Ordner für diesen Zweck erstellt) und mich gefragt, ob dies eine gute Möglichkeit ist oder ob ich sie hätte platzieren sollen es in / usr / local / bin? Ich habe versucht, einen sperrigen Ordner zu vermeiden, da ich dort auch benutzerdefinierte Befehle eingefügt habe.
Nick Dewitte
Ich habe nicht daran gedacht, aber es funktioniert gut.
Prashant
2

Ich habe es gefunden; Es ist wahrscheinlich nicht spezifisch für Ubuntu, hat aber mit einem JAR (lib / jrt-fs.jar) zu tun, das in openjdk-9 nicht korrekt kompiliert wurde.

Die Antwort ist hier: /programming/47296429/properly-set-up-java-9-as-sdk-in-intellij-idea-on-linux-due-to-new-folder-struct / 47850159 # 47850159

Ich zitiere: Eine vorübergehende Problemumgehung könnte darin bestehen, /usr/lib/jvm/java-9-openjdk-amd64/lib/jrt-fs.jar durch die von Oracle JDK zu ersetzen .

Nachdem ich das Glas ausgetauscht hatte, konnte ich das SDK problemlos zu IntelliJ hinzufügen.

Steven Kuypers
quelle