Eclipse inkompatible Java-Versionen - Ist die Installation mehrerer JRE-Versionen sicher?

918
Hrvoje T

Ich habe WindowBuilder in Eclipse Oxygen.3a Release (4.7.3a) installiert. Build-ID: 20180405-1200 Betriebssystem: Linux, v.4.15.0-20-Generic, x86_64 / gtk 3.22.30 und bekomme eine Fehlermeldung:

Eclipse is running under 0, but this Java project has a 10 Java compliance level, so WindowBuilder will not be able to load classes from this project. Use a lower level of Java for the project, or run Eclipse using a newer Java version.  

Wenn ich jedoch versuche, die Projektkonformität zu ändern, erhalte ich eine Meldung:

Eclipse inkompatible Java-Versionen - Ist die Installation mehrerer JRE-Versionen sicher?

Ist es sicher sicher, mehrere Versionen von JRE in Kubuntu 18.04 zu installieren? Ich dachte, ich verwende bereits Eclipse mit der neuesten Java-Version, weil ich dies in meiner Konfiguration gelesen habe:

java.runtime.version=10.0.1+10-Ubuntu-3ubuntu1 
2

1 Antwort auf die Frage

1
Boye Borg

Die Fehlermeldung zeigt an, dass Sie angeben müssen, was JVM Eclipse verwenden soll. Sie können dies in der Datei eclipse.ini tun ( weitere Informationen finden Sie auf dieser Website ). Sie müssen den Pfad zur Java 10-JVM in der Datei eclipse.ini wie folgt angeben:

-vm C:\jdk10\bin\javaw.exe 

Ändern Sie C:\jdk10\bin\javaw.exe, um Ihren Pfad zur Java 10-JVM wiederzugeben.

Zur Beantwortung Ihrer Frage:

Es ist absolut sicher, mehrere Java-Versionen installiert zu haben. Sie können die Java-Standardversion durch Ausführen ändern sudo update-alternatives --config java. Wenn Sie den Befehl javaog javacüber die Befehlszeile ausführen, wird die dort definierte Version verwendet. Eclipse kann jedoch so konfiguriert werden, dass es die von Ihnen gewünschte Version von Java verwendet (sofern es auf Ihrem Computer installiert ist).

Es scheint, dass Sie bereits über Java 10 verfügen. Sie können dies entweder durch Ausführen überprüfen java -versionoder durch Ausführen eine Liste aller installierten Java-Umgebungen abrufen sudo update-alternatives --list java. In Eclipse können Sie Window -> Preferences -> Java -> Compilersehen, welche Java-Compiler für Eclipse verfügbar sind, und den gewünschten hinzufügen, falls er nicht aufgeführt ist. Wenn die gewünschte Version des Java-Compilers verfügbar ist, können Sie im Projekt-Explorer mit der rechten Maustaste auf das Projekt klicken, Eigenschaften auswählen und dann die entsprechende Version des Java-Compilers auswählen.

Hoffe das hilft.

Ich habe 10 installiert, brauche aber 8. `openjdk-Version" 10.0.1 "2018-04-17 OpenJDK-Laufzeitumgebung (Build 10.0.1 + 10-Ubuntu-3ubuntu1) OpenJDK 64-Bit-Server-VM (Build 10.0.1+) 10-Ubuntu-3ubuntu1, gemischter Modus) ` Hrvoje T vor 5 Jahren 0
Ich habe 10 installiert, brauche aber 8. Kann ältere Version installiert werden? ` Hrvoje T vor 5 Jahren 0
@HrvojeT Ja, Sie können Java 8 (openJDK-Version) mit folgendem Befehl installieren: sudo apt-get install openjdk-8-jre, aber Java 10 sollte in der Lage sein, Code für die Java 8-Umgebung zu kompilieren. Boye Borg vor 5 Jahren 1
Wenn ich JDK10 habe, brauche ich kein JDK8? Kann ich mit 10 kompilieren, um mit JRE8 auf WinXP zu laufen? Hrvoje T vor 5 Jahren 0
@HrvojeT Ja, Sie können den mit JRE8 kompatiblen Code mithilfe von JDK 10 kompilieren. Dies setzt jedoch voraus, dass Sie keine Funktionen verwenden, die nach Java 8 eingeführt wurden. Dies kann beispielsweise durch Angabe des Parameters `--release` erfolgen : `javac - release 8 Foo.java`. Boye Borg vor 5 Jahren 0
@HrvojeT Ich habe meine Antwort mit einem Vorschlag zur Lösung Ihres Problems aktualisiert. Boye Borg vor 5 Jahren 0
Vielen Dank! In Kubuntu habe ich jdk10 und jre8 installiert. Ich habe jetzt jkd8 mit `sudo apt-get install openjdk-8-jdk` installiert und obwohl ich in Eclipse" use jre8 library "überprüft hatte, musste ich in` eclipse.ini` von `/ usr / lib / jvm / java wechseln -10-openjdk-amd64 / bin` nach `/ usr / lib / jvm / java-8-openjdk-amd64 / bin`. Vorher habe ich jdk8 für mein Betriebssystem mit sudo update-alternatives --config java aktiviert. WindowsBuilder und Swing Designer funktionieren jetzt :) Gibt es einen Unterschied für mich, Openjdk anstelle von Oracle zu verwenden? Hrvoje T vor 5 Jahren 0
@HrvojeT Großartig! Kurze Antwort: Nein. Siehe [diese Frage] (https://stackoverflow.com/questions/22358071/differences-between-oracle-jdk-and-openjdk) für weitere Einzelheiten. Boye Borg vor 5 Jahren 0