JDK in Eclipse einstellen


116

Ich habe zwei JDKs für Java 6 und 7.

Ich möchte mein Projekt mit beiden erstellen. Anfangs haben wir nur gegen 1.6 gebaut. Ich sehe in meiner Projekteinstellung, dass ich 1.5, 1.6 1.7 als Compilerebene auswählen kann.

Wie werden diese Optionen zur IDE hinzugefügt? Ich habe Java 1.5 nie installiert. Angenommen, ich wollte Java 1.4. Wie würde ich dies in der Liste erscheinen lassen? Ich habe zwei verschiedene JREs in meinen IDE-Einstellungen hinzugefügt, aber diese werden nicht in der Dropdown-Liste angezeigt.

Antworten:


144

Sie verwalten die Liste der verfügbaren Compiler in der Window -> Preferences -> Java -> Installed JRE's tab.

Im Dialogfeld zur Konfiguration des Projekterstellungspfads können JRE System LibrarySie auf der Registerkarte Bibliotheken den Eintrag für löschen , auf klicken Add Libraryund die installierte JRE auswählen, mit der kompiliert werden soll. Einige Compiler können so konfiguriert werden, dass sie in einer Back-Level-Compilerversion kompiliert werden. Ich denke, deshalb sehen Sie die zusätzlichen Versionsoptionen.


Ich hatte meine eigene JRE über die Option "Hinzufügen" im installierten JRE-Fenster hinzugefügt. Das Problem ist, dass bei der Überprüfung, die Eclipse verwenden soll, diese nicht als Standardarbeitsbereich-JRE übernommen wurde. Als ich mir meine Projekteigenschaften ansah, war die "JRE-Systembibliothek" noch vorhanden. Als ich es löschte und "Standardarbeitsbereich-JRE verwenden" auswählte, nahm es meine Änderung auf. Ich hätte gedacht, Eclipse hätte meine Projekt-JRE aktualisieren sollen, als ich eine andere JRE für meinen Arbeitsbereich ausgewählt habe
MayoMan

1
Obwohl "Standard verwenden" steht, wird zum Zeitpunkt der Erstellung / des Imports des Projekts tatsächlich die Standardeinstellung verwendet, und es wird nie zurückgeschaut.
Chris Gerken

2
Für diejenigen, die das Element "Einstellungen" nicht finden können, befindet es sich im Dropdown-Menü "Fenster".
Greg Quinn

80

Möglicherweise sind einige zusätzliche Schritte erforderlich, um sowohl die Projekt- als auch die Standardarbeitsbereich-JRE korrekt festzulegen, wie MayoMan erwähnt hat. Hier ist die komplette Sequenz in Eclipse Luna:

  • Klicken Sie mit der rechten Maustaste auf Ihr Projekt> Eigenschaften
  • Wählen Sie links "Java Build Path" und dann "JRE System Library" und klicken Sie auf "Edit ...".
  • Wählen Sie "Workspace Default JRE".
  • Klicken Sie auf "Installierte JREs".
  • Wenn Sie die gewünschte JRE in der Liste sehen, wählen Sie sie aus (die Auswahl eines JDK ist ebenfalls in Ordnung).
  • Wenn nicht, klicken Sie auf Suchen…, navigieren Sie zu Computer> Windows C:> Programme> Java und klicken Sie dann auf OK
  • Jetzt sollten Sie alle installierten JREs sehen und die gewünschte auswählen
  • Klicken Sie millionenfach auf OK / Fertig stellen

Einfach .... nicht.


3
Ich musste meine Umgebungsvariable JAVA_HOME auch in den Ordner des JDK ändern, und die JRE reichte nicht aus.
Noumenon

2
Danke Georgie! Websters definiert die Standardeinstellung als "eine Auswahl, die von einem Programm automatisch verwendet wird, wenn der Benutzer keine Auswahl trifft". Eclipse's "Workspace Default JRE" ist jedoch nicht standardmäßig ausgewählt.
JohnC

Danke @Georgie, du hast meine Stunden gerettet :)
Bhuvan Arora

12

Um Eclipse anzuweisen, JDK zu verwenden, müssen Sie die folgenden Schritte ausführen.

  1. Wählen Sie das Menü Fenster und dann Einstellungen auswählen . Sie können ein Dialogfeld sehen.
  2. Wählen Sie dann Java ---> Installierte JREs
  3. Klicken Sie dann auf Hinzufügen und wählen Sie Standard-VM aus. Klicken Sie dann auf Weiter
  4. Navigieren Sie in der JRE-Startseite zu dem Ordner, in dem Sie das JDK installiert haben (in meinem System befand sich mein JDK beispielsweise in C: \ Programme \ Java \ jdk1.8.0_181 \).
  5. Klicken Sie nun auf Fertig stellen .

Nachdem Sie die obigen Schritte ausgeführt haben, sind Sie fertig und Eclipse verwendet das ausgewählte JDK zum Kompilieren.


3

Der Compiler von Eclipse kann sicherstellen, dass Ihre Java-Quellen einer bestimmten JDK-Version entsprechen, auch wenn Sie diese Version nicht installiert haben. Diese Funktion ist nützlich, um die Abwärtskompatibilität Ihres Codes sicherzustellen.

Ihr Code wird weiterhin von dem von Ihnen ausgewählten JDK kompiliert und ausgeführt.


2

JDK 1.8 verfügt über eine weitere Anreicherungsfunktion, die viele Eclipse nicht unterstützt.

Wenn Sie im Java-Compiler keine Java-Konformitätsstufe von 1,8 gefunden haben, installieren Sie die folgende Eclipse 32-Bit- oder 64-Bit-Version, je nach Systemunterstützung.

  1. Installieren Sie jdk 1.8 und setzen Sie dann JAVA_HOME und CLASSPATH in der Umgebungsvariablen.
  2. Laden Sie eclipse-jee-neon-3-win32 herunter und entpacken Sie: unterstützt Java 1.8
  3. Oder laden Sie Oracle Enterprise Pack für Eclipse (12.2.1.5) herunter und entpacken Sie: Unterstützt Java 1.8 mit 64-Bit-Betriebssystem
  4. Klicken Sie mit der rechten Maustaste auf Ihr Projekt> Eigenschaften
  5. Wählen Sie links „Java Compiler“ und setzen Sie die Java-Konformitätsstufe auf 1,8 [wählen Sie aus der Dropdown-Liste 1.8]
  6. Versuchen Sie, ein Java-Programm auszuführen, das Java 8 wie den folgenden Lambda-Ausdruck unterstützt. Wenn kein Kompilierungsfehler vorliegt, bedeutet dies, dass Ihre Eclipse Java 1.8 unterstützt.

    interface testI{
        void show();
    }
    
    /*class A implements testI{
        public void show(){
            System.out.println("Hello");
        }
    }*/
    
    public class LambdaDemo1 {
        public static void main(String[] args) {
            testI test ;
            /*test= new A();
            test.show();*/
            test = () ->System.out.println("Hello,how are you?"); //lambda 
            test.show();
        }        
    }

Willkommen bei StackOverflow und vielen Dank für Ihren Versuch zu helfen. Bitte überlegen Sie, die Lesbarkeit Ihrer Antwort zu verbessern, indem Sie sich mit der Formatierung vertraut machen. Die Tour könnte Sie dabei unterstützen.
Yunnosch

2

JDKs konfigurieren

  1. Windows -> Einstellungen -> Installierte JREs, um die installierten JDKs zu konfigurieren
  2. Projekteigenschaften, Java Compiler, Projektspezifische Einstellungen aktivieren (oder Arbeitsbereichseinstellungen konfigurieren), JDK-Konformität
  3. Projekteigenschaften, Java-Erstellungspfad, Bibliotheken, Bibliothek hinzufügen, JRE-Systembibliothek, Standardarbeitsbereich oder Alternative JRE (eine der in konfigurierten JREs)

Maven

ABER WENN Sie maven verwenden, vorausgesetzt, Sie haben Ihre neueste JRE (Windows / Einstellungen / Installierte JREs) - zum Beispiel JDK 1.8

Sie können die Level 1.6, 1.7, 1.8 auswählen, indem Sie die Quell- und Zielattribute des Maven-Compiler-Plugins wie folgt konfigurieren

            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.3</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>

Und wenn Sie einen übergeordneten POM haben, können Sie dies idealerweise für alle Module (Eclipse-Projekte) im übergeordneten POM an einem einzigen Ort tun.

Quelle und Ziel Wenn wir die Java 8-Sprachfunktionen verwenden möchten, sollte die Quelle auf 1.8 gesetzt werden. Damit die kompilierten Klassen mit JVM 1.8 kompatibel sind, sollte der Zielwert 1,8 sein.

Aktualisieren der JRE-Bibliothek, die in vielen Projekten gleichzeitig fehlerhaft ist (mit Maven)

Lassen Sie Maven dies für Sie tun, anstatt die JRE-Bibliothek einzeln zu aktualisieren.

Wenn Sie die Projekte auswählen und mit der rechten Maustaste auf Maven -> Projekt aktualisieren klicken, wird die Systembibliothek auf den Pfad des installierten JDK gesetzt, falls die Pfade beschädigt sind (weil Sie ein neues JDK installiert oder von einem anderen Computer importiert haben usw.) und Stellen Sie die JDK-Konformität gemäß der Maven-Quell- und Zieleinstellung im POM ein.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.