Eclipse: Frustration mit Java 1.7 (ungebundene Bibliothek)

76

Ich habe Probleme mit einem brandneuen Projekt in einer brandneuen Installation von Eclipse. Repro Schritte:

  1. Laden Sie diese Version von Eclipse herunter: http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/heliosr

  2. Entpacken Sie nach c: \ program files \ eclipse java

  3. Starten Sie Eclipse. Wählen Sie einen Arbeitsbereich

  4. Datei > Neu > Java-Projekt

  5. Projektname: Hallo Welt . JRE: "Verwenden Sie eine Ausführungsumgebung JRE: JavaSE-1.7"

  6. Klicken Sie auf Weiter und wechseln Sie zur Registerkarte Bibliotheken. Der einzige Eintrag ist JRE System Library [JavaSE-1.7] (ungebunden) . Was bedeutet "ungebunden"? Wie behebe ich das?

  7. Klicken Sie auf Fertig stellen .

Erwartet: Brandneues Projekt funktioniert gut.

Tatsächlich: Es gibt zwei Fehler:

The project cannot be built until build path errors are resolved HelloWord  Unknown Java Problem
Unbound classpath container: 'JRE System Library [JavaSE-1.7]' in project 'HelloWord' HelloWord  Build path Build Path Problem

Was mache ich hier falsch?

Update: Vielleicht habe ich das Java 7 JDK nicht auf meinem Computer. Wie kann ich sicher sein?

Update 2: Es sieht so aus, als ob Java 7 tatsächlich noch nicht verfügbar ist. Süss.

Nick Heiner
quelle
9
Diese Frage sollte erneut geöffnet werden. Ich denke, es ist jetzt sehr relevant, da Java 7 nicht mehr verfügbar ist. Früher hatte ich Java 6 in meiner Eclipse konfiguriert, und die folgende Antwort hat mir sehr geholfen. Ich denke, viele Menschen erleben dies auch.
Ardee Aram
8
Abstimmung zur Wiedereröffnung. Genau das habe ich gesucht.
Dylan
2
Dies half mir über zwei Jahre, nachdem es gefragt wurde. Sollte wieder geöffnet werden. Es ist kaum "zu lokalisiert", soweit ich sehen kann
Marsbard
2
+1 bei Wiedereröffnung, das hat mir direkt geholfen
Tallseth
Ich bin in letzter Zeit auch auf 1,7 bis 1,8 gestoßen. Die Version scheint keine Rolle zu spielen. Eclipse verwendet eine CDC-1.0 Foundation-Version, die aus irgendeinem Grund als 1.6 gekennzeichnet ist (auch wenn es 1.8 ist). Durch die Änderung der JRE für mein installiertes System (auch als alternative JRE bezeichnet) wurden die seltsamen Konfliktwarnungen behoben, die ich erhielt. Und dies war bei einer neuen Installation von Eclipse Neon. Es sollte beim ersten Start die JREs meines Systems erkannt haben.
Alex Summers

Antworten:

105

1) Finden Sie heraus, wo Java auf Ihrem Laufwerk installiert ist, öffnen Sie eine cmd-Eingabeaufforderung, gehen Sie zu diesem Speicherort und führen Sie ". \ Java -version" aus, um die genaue Version herauszufinden. Oder überprüfen Sie ganz einfach das Modul zum Hinzufügen / Entfernen im Bedienfeld.

2) Nachdem Sie jdk 7 tatsächlich installiert haben, müssen Sie Eclipse darüber informieren. Fenster -> Einstellungen -> Java -> Installierte JREs.

Yoni
quelle
17
Es lohnt sich hinzuzufügen, dass Sie im Einstellungsbereich für "Installierte JREs" einfach auf die Schaltfläche "Suchen" klicken können, um JDK 7 automatisch zu finden, falls es installiert ist.
Thunderforge
2
Unter Ubuntu 12.04 fand ich meine installierten JDKS in / usr / lib / jvm
Jeffrey Martinez
Mein Setup ist jdk8 + Eclipse 3.7. Das Problem "JRE System Library [JavaSE-1.7] (ungebunden)." noch vorhanden. Eclipse 3.7 bindet jdk8 nicht an die Java7-Umgebung. Irgendein Vorschlag?
Petertc
10

Um JDK einzustellen, können Sie sich dieses Video ansehen: So stellen Sie JDK ein . Wenn Sie dann JDK haben:

  1. Klicken Sie mit der rechten Maustaste auf den Erstellungspfad und wählen Sie "Erstellungspfad".
  2. Wählen Sie "Build-Pfad konfigurieren".
  3. Klicken Sie auf "JRE System Library [JavaSE-1.7] (ungebunden)".
  4. Bearbeite es
  5. Wählen Sie "Alternative JRE"
  6. Klicken Sie auf die Schaltfläche "Installierte JREs .."
  7. Drücken Sie Hinzufügen
  8. Wählen Sie "Standard-VM"
  9. Wählen Sie das JRE-Ausgangsverzeichnis - normalerweise befindet es sich im Verzeichnis "C: \ Programme \ Java \ jre7"
  10. Drücken Sie "Fertig stellen"
  11. Erneutes Überprüfen von neu erschienenem "Jre7": Stellen Sie sicher, dass jetzt beim Bearbeiten von "JRE-Systembibliothek [JavaSE-1.7]" "Alternative JRE" für jre7 ausgewählt ist.
Anahit Serobyan
quelle
8

1) Gehen Sie zum Konfigurieren des Erstellungspfads. 2) Entfernen Sie die ungebundene JRE-Bibliothek. 3) Bibliothek hinzufügen -> JRE-Systembibliothek.

Dann Projekt kompilieren und fertig ..

Mahesh
quelle
2

Haben Sie tatsächlich einen der Meilenstein-Builds von https://jdk7.dev.java.net/ heruntergeladen und installiert ?

Sie können mit den Funktionen spielen, obwohl sie nicht stabil sind, sodass Sie keine Software gegen sie veröffentlichen sollten.

Sinjo
quelle
Sieht so aus, als hätte ich es nicht getan, es sei denn, es kommt mit dieser Version von Eclipse.
Nick Heiner
Nein, Sie müssen von dieser Site installieren, es wird nicht mit Eclipse geliefert (wird Eclipse auf jeden Fall mit einer JVM ausgeliefert?).
Sinjo
2

Die meiste Zeit nach der Installation von Eclipse wird eclipse.ini geändert. Wenn Sie das JDK in eclipse.ini ändern, verwendet Eclipse dieses JDK standardmäßig.

Angenommen, Sie installieren eine neue Version von Eclipse und haben vergessen, die eclipse.ini für das JDK zu ändern. Dann findet Eclipse ein JDK für Sie. Angenommen, Java 1.6 wurde automatisch entdeckt (Sie haben nichts getan).

Wenn Sie maven (M2E) verwenden und auf einen 1.7 jdk verweisen, wird die frustrierende Meldung angezeigt. Normalerweise wird es jedoch nicht angezeigt, da Sie das richtige JDK in eclipse.ini konfigurieren.

Das war mein Fall. Ich habe im POM auf ein JDK verwiesen, das nicht in Eclipse konfiguriert wurde.

Im Screenshot sehen Sie, dass 1.7 von Eclipse konfiguriert und angezeigt wird. In diesem Fall sollten Sie im pom auf einen jre verweisen, der mit 1.7 kompatibel ist! Wenn nicht -> frustrierende Nachricht!

jdk 1.7 in eclipse.ini konfiguriert und in installiertem jre abgerufen

Rudy Vissers
quelle
2

Ursache: Dies ist ein häufiges Szenario, wenn wir ein neues Projekt mit einem anderen lib- und JAR-Pfad importieren.

Ich war mit diesem Problem konfrontiert und wurde mit genau den folgenden Schritten behoben:

  • Projekt > Eigenschaften
  • Erstellungspfad > Erstellungspfad konfigurieren
  • Wählen Sie die Registerkarte "Bibliotheken"
  • Klicken Sie auf "Bibliothek hinzufügen".
  • Wählen Sie "JRE System Library" aus der angezeigten Liste
  • Klicken Sie auf „Weiter“ , gefolgt von „Finish“ Button

Dies zeigt den richtigen und gültigen JRE-Pfad Ihres Systems an, was für mich von Bedeutung war. Prost :)

NarendraC
quelle
1

Aktualisierte Datei eclipse.ini mit der Schlüsselwerteigenschaft -Dosgi.requiredJavaVersion = 1.7 (oder) 1.8, je nachdem, was zutreffend ist. - Für mich geht das.

Mahendran
quelle
1

Aktualisierte eclipse.iniDatei mit Schlüsselwerteigenschaft

-Dosgi.requiredJavaVersion=1.5 

zu

-Dosgi.requiredJavaVersion=1.8

denn das ist meine JAVA-Version.

Auch JRE 1.8als meine Projektbibliothek ausgewählt

Masoud Oveis Gharan
quelle