web-dev-qa-db-fra.com

Comment modifier le JRE par défaut pour tous les espaces de travail Eclipse?

J'ai un JRE dans C:\Program Files (x86)\Java\jre6 et c'était le seul à l'époque où j'ai installé Eclipse. J'ai par la suite installé un JDK complet dans C:\home\SFTWR\jdk1.6.0_21 et modifié ma variable d'environnement Java_HOME en celle-ci. Cependant, chaque fois que je démarre un nouvel espace de travail Eclipse, il ne récupère que l'ancien JRE et je dois le supprimer manuellement et ajouter le nouveau. 

Comment lier mon installation Eclipse au nouveau JDK afin que chaque nouvel espace de travail ne pointe que sur celui-ci? J'ai vérifié Eclipse.ini, mais il n'y avait aucune référence à laquelle JRE se tourner.

METTRE À JOUR:

Je suis entré dans Prefs->Java->Installed JREs, j'ai ajouté le nouvel emplacement, l'a marqué comme emplacement par défaut, j'ai supprimé l'autre et cela n'a d'effet que pour l'espace de travail actuel. Cependant, lorsque j'ai ouvert un nouvel espace de travail, seul l'ancien JRE était disponible. Cela n'a donc pas changé la configuration Eclipse de base qui s'applique à tous les espaces de travail (au moins nouveaux)

31
amphibient

J'ai enfin compris: La façon dont Eclipse récupère le JRE utilise le chemin PATH du système

Je n'avais pas du tout C:\home\SFTWR\jdk1.6.0_21\bin dans le chemin auparavant et j'avais C:\Program Files (x86)\Java\jre6\bin. J'avais les deux JRE_HOME et Java_HOME réglés sur C:\home\SFTWR\jdk1.6.0_21 mais aucun de ces deux ne comptait. Je suppose qu'Eclipse a fait (quelque chose à l'effet de) où Java (ou qui sur UNIX/Linux) pour voir où Java est dans le chemin et a pris le JRE auquel appartenait ce Java.exe. Dans mon cas, malgré tous les réglages de configuration que j'avais faits (y compris l'option Eclipse.ini -vm comme suggéré ci-dessus), il restait bloqué sur ce qu'il y avait dans le chemin. 

J'ai supprimé l'ancien bac JRE du chemin, y ai inséré le nouveau et cela fonctionne pour tous les espaces de travail.

24
amphibient

Ouvrez la page de préférences Java> JRE installés. Cochez la case sur le ligne pour le JRE que vous souhaitez attribuer comme JRE par défaut dans votre fichier Table de travail. Si le JRE que vous souhaitez attribuer par défaut ne le fait pas apparaître dans la liste, vous devez l'ajouter. Cliquez sur OK.

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

15
seeker

Les JRE installés sont utilisés pour ce que JRE doit exécuter pour vos projets et serveurs Java en aval. En ce qui concerne la JVM ou JRE utilisée pour exécuter le processus Eclipse (workbench) lui-même, qui est contrôlé par votre environnement, votre historique et le fichier binaire Eclipse.exe. Donc, Eclipse.exe lui-même décide avec quel JRE Eclipse va s’exécuter avec les préférences JRE non installées, car celles-ci ne sont pas lues tant que le framework OSGi n’est pas opérationnel et chargé après le choix de la JVM/JRE.

Ainsi, pour les nouveaux espaces de travail, Eclipse utilisera son JRE en cours d'exécution pour renseigner les préférences JRE.

Le meilleur moyen que je connaisse consiste à forcer Eclipse.exe à utiliser le JRE que vous lui indiquez via le commutateur -vm. Donc, dans votre Eclipse.ini, procédez comme suit:

-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

Dans Eclipse, allez à 

Window-> Java -> JRE installés

Vous pouvez supprimer votre jre actuellement installé et ajouter le jdk en spécifiant le chemin d'accès à l'emplacement où le jdk est installé.

 enter image description here

8
Eduardo Dennis

J'ai rencontré un problème similaire dans lequel Eclipse n'utilisait pas mon %Java_HOME% actuel qui se trouvait sur la path et utilisait une version plus ancienne. La documentation indique que si aucun -vm n'est spécifié dans le fichier ini, Eclipse recherchera une bibliothèque partagée jvm.dll. Celle-ci apparaît dans le registre sous la clé HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment installée lors de l'utilisation du programme d'installation Java de Windows (la clé peut être légèrement différente 64 bits vs 32 bits, mais recherchez jvm.dll). Parce qu'il trouvait cette bibliothèque partagée sur ma path avant le %Java_HOME%/bin, il utilisait l'ancienne version.

Comme d'autres l'ont déjà indiqué, le moyen le plus simple consiste à spécifier le type de machine virtuelle que vous souhaitez utiliser dans le fichier Eclipse.ini. J'écris ceci parce que je ne pouvais pas comprendre comment elle utilisait encore l'ancienne version alors qu'elle n'était spécifiée nulle part dans le fichier path ou Eclipse.ini

Voir le lien vers le document ci-dessous: http://help.Eclipse.org/kepler/topic/org.Eclipse.platform.doc.isv/reference/misc/launcher.html?cp=2_1_3_1

Recherche d'un VM et utilisation de l'API d'invocation JNI

Le programme de lancement Eclipse est capable de charger Java VM dans le processus Eclipse à l'aide de l'API Java Native Interface Invocation. Le programme de lancement est toujours capable de démarrer Java VM dans un processus séparé, identique à la version précédente d'Eclipse. La méthode utilisée dépend de la façon dont la VM a été trouvée.

No -vm spécifié

Si aucun -vm n'est spécifié, le programme de lancement recherche d'abord une machine virtuelle dans un répertoire jre à la racine d'Eclipse, puis dans le chemin de recherche. Si Java se trouve à l'un ou l'autre emplacement, le programme de lancement recherche une bibliothèque partagée jvm (jvm.dll sous Windows, libjvm.so sur les plates-formes * nix) par rapport à cet exécutable Java.

  • Si une bibliothèque partagée jvm est trouvée, le programme de lancement la charge et utilise l'API d'appel JNI pour démarrer la machine virtuelle.
  • Si aucune bibliothèque partagée jvm n'est trouvée, le programme de lancement exécute le programme de lancement Java pour démarrer la machine virtuelle dans un nouveau processus.

-vm spécifié sur la ligne de commande ou dans Eclipse.ini

Eclipse peut être démarré avec "-vm" pour indiquer une machine virtuelle à utiliser. Il y a plusieurs possibilités pour la valeur de:

  • répertoire: est un répertoire. Nous cherchons dans ce répertoire:
    • (1) un lanceur Java ou 
    • (2) la bibliothèque partagée jvm.

Si nous trouvons la bibliothèque partagée jvm, nous utilisons l'invocation JNI. Si nous trouvons un lanceur, nous essayons de trouver une bibliothèque jvm dans des emplacements connus par rapport au lanceur. Si nous en trouvons un, nous utilisons l'invocation JNI. Si aucune bibliothèque jvm n'est trouvée, nous exécutons Java dans un nouveau processus.

  • Java.exe/javaw.exe: est un chemin d'accès à un programme de lancement Java. Nous exécutons ce lanceur Java pour démarrer la machine virtuelle dans un nouveau processus.

  • jvm dll or so: est un chemin d'accès à une bibliothèque partagée jvm. Nous essayons de charger cette bibliothèque et d’utiliser l’API d’appel JNI pour démarrer la machine virtuelle dans le processus en cours.

5
randal4

Ma réponse se recoupera avec celle des amphibiens tout en y ajoutant.

Votre variable Java_HOME convient, mais vous devez également ajouter ce qui suit à votre variable Path:

;%Java_HOME%\bin

Cela permettra à vos applications de votre environnement Windows d’accéder à votre JDK. Vous devez également redémarrer votre ordinateur une fois que vous avez ajouté ces variables d'environnement avant de vérifier si elles fonctionnent. Dans mon cas, même me déconnecter puis me reconnecter ne fonctionnait pas: je devais redémarrer complètement.

Si vous voulez vérifier si les variables d'environnement sont définies correctement, vous pouvez ouvrir une invite de commande et taper> echo %Java_HOME et> echo %Path% pour voir si ces variables fonctionnent correctement. En cherchant des solutions, j'ai également rencontré des personnes affirmant qu'elles devaient ajouter des guillemets (") autour des variables d'environnement pour qu'elles fonctionnent correctement ("%Java_HOME%"\bin) si votre chemin Java_HOME incluait des espaces. d'abord, mais après un redémarrage complet, mes variables semblaient fonctionner correctement sans guillemets malgré les espaces.

5
Marchear

lorsque vous sélectionnez Exécuter la configuration, il y a un tap JRE près du tap principal, sélectionnez " JRE par défaut de Workspace (JDK1.7) ".

Assurez-vous d'utiliser le jdk dans Prefs->Java->Installed JREs ->Execution Environment 

1
MRTC

essayez de changer la commande: clic droit sur votre projet-> BuildPath-> Configure ...-> onglet Order and Export -> move jre7 UP.

0
KARTASHOV

J'ai fait face au même problème. La résolution: - Fenêtre -> Préférences -> Java -> JRE installés -> Ajouter ...- Faites un clic droit sur votre projet -> Chemin de construction -> Configurer le chemin de construction-- > Ajouter une bibliothèque -> Bibliothèque système JRE -> Suivant -> JRE par défaut de WorkSpace

0
tuyetngo

Sur Windows, j'ai essayé différentes approches - La définition de Java_HOME, JRE_HOME et l'extension de la variable PATH pour pointer sur le jar18 dessiné, mais rien n'y faisait.

Ce qui m’a aidé, c’est d’obliger Eclipse à utiliser le JRE approprié dans le fichier Eclipse.ini, par exemple.

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

0
Stefan Michev