it-swarm.com.de

Wie kann man die Standard-JRE für alle Eclipse-Arbeitsbereiche ändern?

Ich habe eine JRE in C:\Program Files (x86)\Java\jre6 und das war die einzige, als ich Eclipse installiert habe. Ich habe anschließend ein vollständiges JDK in C:\home\SFTWR\jdk1.6.0_21 installiert und meine Java_HOME-Umgebungsvariable darauf geändert. Jedes Mal, wenn ich einen neuen Eclipse-Arbeitsbereich starte, wird nur die alte JRE übernommen, und ich muss sie manuell entfernen und die neue hinzufügen. 

Wie binde ich meine Eclipse-Installation an das neue JDK, sodass jeder neue Arbeitsbereich nur darauf verweist? Ich habe Eclipse.ini geprüft, aber es gab keinen Hinweis darauf, zu welcher JRE ich gehen sollte.

UPDATE:

Ich ging in Prefs->Java->Installed JREs, fügte den neuen Speicherort hinzu, markierte ihn als Standard, entfernte den anderen und er war nur für den aktuellen Arbeitsbereich wirksam. Beim Öffnen eines neuen Arbeitsbereichs stand jedoch nur die alte JRE zur Verfügung. Dies hat also die Eclipse-Kernkonfiguration nicht geändert, die für alle (zumindest neuen) Arbeitsbereiche gilt

31
amphibient

Endlich haben wir es verstanden: Die Art und Weise, wie Eclipse die JRE aufnimmt, verwendet den PATH des Systems. 

Ich hatte vorher gar keinen C:\home\SFTWR\jdk1.6.0_21\bin im Pfad und ich hatte C:\Program Files (x86)\Java\jre6\bin. Ich hatte sowohl JRE_HOME als auch Java_HOME auf C:\home\SFTWR\jdk1.6.0_21 eingestellt, aber keiner der beiden war von Belang. Ich glaube, Eclipse hat (etwas zur Wirkung) wo Java (oder Welches unter UNIX/Linux) zu sehen ist, wo Java im Pfad ist und die JRE genommen hat, zu der der Java.exe gehört. In meinem Fall blieb es trotz aller Konfigurationsänderungen, die ich vorgenommen hatte (einschließlich der oben beschriebenen Option Eclipse.ini -vm), bei dem, was sich im Pfad befand. 

Ich habe den alten JRE-Ordner aus dem Pfad entfernt, den neuen eingelegt, und er funktioniert für alle Arbeitsbereiche.

24
amphibient

Öffnen Sie die Einstellungsseite für Java> Installierte JREs. Aktivieren Sie das Kontrollkästchen auf Zeile für die JRE, die Sie als Standard-JRE in Ihrer .__ zuweisen möchten. Werkbank. Wenn die JRE, die Sie als Standard zuweisen möchten, nicht in der Liste angezeigt werden, müssen Sie es hinzufügen. OK klicken.

Quelle - http://help.Eclipse.org/juno/index.jsp?topic=%2Forg.Eclipse.jdt.doc.user%2Ftasks%2Ftask-assign_default_jre.htm

15
seeker

Die installierten JREs werden für die JREs verwendet, die für die nachgelagerten Java-Projekte und -Server ausgeführt werden sollen. In welcher JVM oder JRE wird der Eclipse-Prozess (Workbench) selbst ausgeführt, der von Ihrer Umgebung, dem Verlauf und der Eclipse.exe-Binärdatei gesteuert wird. Daher entscheidet Eclipse.exe selbst, womit JRE Eclipse selbst ausgeführt wird, nicht die JRE-Voreinstellungen, da diese nicht gelesen werden, bis das OSGi-Framework ausgeführt wird.

Für neue Arbeitsbereiche wird Eclipse daher die derzeit ausgeführte JRE verwenden, um die JRE-Prefs aufzufüllen.

Am besten weiß ich, wie man Eclipse.exe dazu zwingt, die JRE zu verwenden, die Sie über den -vm-Schalter angeben. Also in deiner Eclipse.ini:

-startup
plugins/org.Eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.Eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502
-vm
/path/to/exactly/what/jre/you/want/as/default/javaw.exe
...
12
gamerson

In Eclipse gehe zu 

Window-> Java -> Installierte JREs

Sie können Ihre derzeit installierte JRE entfernen und die Jdk hinzufügen, indem Sie den Pfad angeben, an dem die JDK installiert ist.

 enter image description here

8
Eduardo Dennis

Ich bin auf ein ähnliches Problem gestoßen, bei dem Eclipse meinen aktuellen %Java_HOME%, der sich in der path befand, nicht verwendete und stattdessen eine ältere Version verwendete. Die Dokumentation weist darauf hin, dass Eclipse, wenn in der INI-Datei kein -vm angegeben ist, nach einer gemeinsam genutzten Bibliothek jvm.dll sucht. Diese wird in der Registrierung unter dem Schlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment angezeigt, der bei Verwendung des Windows-Java-Installationsprogramms installiert wird 64-Bit vs. 32-Bit, suchen Sie jedoch nach jvm.dll). Da diese freigegebene Bibliothek in meiner path vor dem %Java_HOME%/bin gefunden wurde, wurde die alte Version verwendet.

Wie bereits von anderen angegeben, ist der einfachste Weg, dies zu tun, die Angabe des gewünschten vm, den Sie in der Eclipse.ini-Datei verwenden möchten. Ich schreibe das, weil ich nicht herausfinden konnte, wie die alte Version noch verwendet wurde, als sie in der path- oder Eclipse.ini-Datei nirgendwo angegeben wurde. 

Siehe den Link zu folgendem Dokument: http://help.Eclipse.org/kepler/topic/org.Eclipse.platform.doc.isv/reference/misc/launcher.html?cp=2_1_3_1

Suchen eines VM und Verwenden der JNI Invocation API

Der Eclipse-Launcher kann Java VM mithilfe des Java Native Interface Invocation-API im Eclipse-Prozess laden. Der Launcher kann Java VM weiterhin wie in früheren Versionen von Eclipse in einem separaten Prozess starten. Welche Methode verwendet wird, hängt davon ab, wie VM gefunden wurde.

Nein -vm angegeben

Wenn kein -vm angegeben ist, sucht der Launcher zuerst in einem Jre-Verzeichnis im Stammverzeichnis von Eclipse nach einer virtuellen Maschine und dann im Suchpfad. Wenn Java an einem der beiden Standorte gefunden wird, sucht der Launcher nach einer gemeinsam genutzten Bibliothek von jvm (jvm.dll unter Windows, libjvm.so auf * nix-Plattformen) relativ zu dieser Java-Programmdatei.

  • Wenn eine gemeinsam genutzte jvm-Bibliothek gefunden wird, lädt das Startprogramm diese und verwendet die JNI-Aufruf-API, um die VM zu starten.
  • Wenn keine gemeinsam genutzte jvm-Bibliothek gefunden wird, führt der Launcher den Java-Launcher aus, um die VM in einem neuen Prozess zu starten.

-vm in der Befehlszeile oder in Eclipse.ini angegeben

Eclipse kann mit "-vm" gestartet werden, um anzugeben, dass eine virtuelle Maschine verwendet werden soll. Es gibt mehrere Möglichkeiten für den Wert von:

  • verzeichnis: ist ein verzeichnis. Wir suchen in diesem Verzeichnis nach:
    • (1) ein Java-Launcher oder 
    • (2) die gemeinsam genutzte Bibliothek von jvm.

Wenn wir die gemeinsam genutzte Bibliothek von jvm finden, wird der Aufruf von JNI verwendet. Wenn wir einen Launcher finden, versuchen wir eine jvm-Bibliothek an bekannten Positionen relativ zum Launcher zu finden. Wenn wir einen finden, verwenden wir JNI-Aufruf. Wenn keine jvm-Bibliothek gefunden wird, führen wir Java in einem neuen Prozess aus.

  • Java.exe/javaw.exe: ist ein Pfad zu einem Java-Launcher. Wir führen das Java-Startprogramm aus, um die VM in einem neuen Prozess zu starten.

  • jvm dll oder so: ist ein Pfad zu einer gemeinsam genutzten jvm-Bibliothek. Wir versuchen, diese Bibliothek zu laden und die VM mit der JNI Invocation-API im aktuellen Prozess zu starten.

5
randal4

Meine Antwort wird sich mit Amphibient überlappen, während ich sie weiter hinzufüge.

Ihre Java_HOME-Variable ist in Ordnung, Sie müssen jedoch auch Folgendes an Ihre Path-Variable anhängen:

;%Java_HOME%\bin

Dadurch können Ihre Anwendungen in Ihrer Windows-Umgebung auf Ihr JDK zugreifen. Sie sollten Ihren Computer auch neu starten, wenn Sie diese Umgebungsvariablen hinzugefügt haben, bevor Sie herausfinden, ob sie funktionieren. In meinem Fall funktionierte sogar das Abmelden und wieder Einspielen nicht: Ich musste komplett neu starten.

Wenn Sie prüfen möchten, ob die Umgebungsvariablen richtig eingestellt sind, können Sie eine Eingabeaufforderung öffnen und> echo %Java_HOME und> echo %Path% eingeben, um zu prüfen, ob diese Variablen ordnungsgemäß funktionieren. Während ich nach Lösungen suchte, bin ich auf Leute gestoßen, die behaupten, dass sie Anführungszeichen (") um die Umgebungsvariablen hinzufügen müssen, damit sie korrekt funktionieren ("%Java_HOME%"\bin), wenn Ihr Java_HOME-Pfad Leerzeichen enthält. Ich dachte, dies wäre mein Fall Zuerst, aber nach einem vollständigen Neustart schienen meine Variablen trotz der Leerzeichen korrekt ohne Anführungszeichen zu funktionieren.

5
Marchear

wenn Sie Laufkonfiguration auswählen, befindet sich ein JRE-Tap neben dem Haupttipp. Wählen Sie " Workspace default JRE (JDK1.7) " aus.

Stellen Sie sicher, dass Sie die jdk in Prefs->Java->Installed JREs ->Execution Environment verwenden. 

1
MRTC

versuchen Sie, die Reihenfolge zu ändern: Klicken Sie mit der rechten Maustaste auf Ihr Projekt-> BuildPath-> Konfigurieren ...-> Bestellen und Exportieren -> JRE7 UP verschieben.

0
KARTASHOV

Ich habe mit dem gleichen Problem konfrontiert. Die Auflösung: - Fenster -> Einstellungen -> Java -> Installierte JREs -> Hinzufügen ...- Klicken Sie mit der rechten Maustaste auf Ihr Projekt -> Erstellungspfad -> Erstellungspfad konfigurieren-- > Bibliothek hinzufügen -> JRE-Systembibliothek -> weiter -> WorkSpace Default JRE

0
tuyetngo

Unter Windows habe ich verschiedene Ansätze ausprobiert - Einstellung von Java_HOME, JRE_HOME und Erweitern des PATH, um auf das gewünschte jre18 zu zeigen, aber nichts half. - Das Deaktivieren des JRE17 in der Java-Systemsteuerung hat auch nicht geholfen

Was mir dabei geholfen hat, war Eclipse zu zwingen, die entsprechende JRE in der Datei Eclipse.ini zu verwenden, z.

-vm C:\Java\jdk1.8.0_111\jre\bin\javaw.exe

0
Stefan Michev