Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > Eclipse
Eclipse Forum d'entraide sur Eclipse. Avant de poster -> La F.A.Q Eclipse, Tutoriels Eclipse
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 20/09/2012, 09h47   #1
Walkn
Nouveau Membre du Club
 
Homme
Inscription : décembre 2007
Messages : 62
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : décembre 2007
Messages : 62
Points : 29
Points : 29
Par défaut Problème configuration Eclipse et JRE

Bonjour à tous,

J'aimerais comprendre comment Eclipse arrive à déterminer quel JRE ou dll utiliser pour son fonctionnement lui même.

Est-ce qu'il se base sur une variable d'environnement JAVA_HOME ?

Si je pose cette question c'est que je viens de constater sur deux pc différents que dans "Installations détails" d'Eclipse j'avais deux options différentes, à savoir sur une machine j'ai
Code :
-vm C:\Program Files\Java\jre6\bin\client\jvm.dll
et sur l'autre machine je n'ai rien soit j'ai
Code :
1
2
-vm
C:\windows\System32\javaw.exe
or je n'ai rien défini...

J'aimerais avoir plus d'information à ce sujet car lors de la création d'un projet WebApp, avec le plugin m2, lorsque j'ajoute la dépendance struts2-core, j'ai une erreur me disant qu'il ne trouve pas le jar tool-1.5.0.jar... or si je modifie le eclipse.ini en faisant pointer la vm sur un JDK, sur le poste qui pointe par défaut sur javaw.exe de System32, cela fonctionne....

Si quelqu'un aurait des informations à ce sujet, je suis preneur.

Est-ce simplement un problème de variable d'environnement ?

Merci pour votre aide.
Walkn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2012, 11h54   #2
Laurent.B
Rédacteur/Modérateur
 
Avatar de Laurent.B
 
Homme Laurent Barbareau
Ingénieur développement logiciels
Inscription : novembre 2004
Messages : 2 987
Détails du profil
Informations personnelles :
Nom : Homme Laurent Barbareau
Âge : 40
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 2 987
Points : 14 728
Points : 14 728
Envoyer un message via Skype™ à Laurent.B
Bonjour,

Tout d'abord, jette un œil à ceci http://eclipse.developpez.com/faq/in...eform#autreJDK

Eclipse démarre à l'aide du JRE qu'il trouvera en premier par rapport à la variable d'environnement PATH.

Pour avoir la maîtrise de la JVM utilisée, le mieux est de l'indiquer précisément, au niveau du eclipse.ini notamment. Celle de System32 n'est pas complète, d'où les problèmes que tu rencontres.
__________________
Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
Pensez à cliquer sur le bouton une fois votre problème solutionné, merci.
Laurent.B est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2012, 13h03   #3
Walkn
Nouveau Membre du Club
 
Homme
Inscription : décembre 2007
Messages : 62
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : décembre 2007
Messages : 62
Points : 29
Points : 29
Merci beaucoup pour ce lien qui m'a aidé à mieux comprendre certains points.

Cependant ce que je ne comprends pas c'est que dans mon eclipse.ini j'ai
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120522-1813
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Dhelp.lucene.tokenizer=standard
-Xms40m
-Xmx512m
Et dans "Installations details" d'Eclipse je vois ceci
Code :
1
2
-vm
 C:\Program Files\Java\jre6\bin\client\jvm.dll
J'ai aussi regardé dans la variable d'environnement Path et je ne vois aucune référence à ce répertoire... Je ne comprends pas vraiment.

N'y a-t-il pas dans Eclipse la notion de JNI Invocation pour déterminer où trouver une JRE ?

Si oui, comment cela fonctionne ?
Walkn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2012, 13h18   #4
Laurent.B
Rédacteur/Modérateur
 
Avatar de Laurent.B
 
Homme Laurent Barbareau
Ingénieur développement logiciels
Inscription : novembre 2004
Messages : 2 987
Détails du profil
Informations personnelles :
Nom : Homme Laurent Barbareau
Âge : 40
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 2 987
Points : 14 728
Points : 14 728
Envoyer un message via Skype™ à Laurent.B
A ma connaissance, il n'y a pas de question de JNI ou de JAVA_HOME pour qu'Eclipse détermine le JRE à utiliser... Il n'y a déjà pas d'installer, donc je pense que tout ce qui peut être trop lié à un système spécifique et qui n'est pas obligatoire, est banni du fonctionnement d'Eclipse.

Si tu appliques une des indications de la FAQ, Eclipse utilisera le JRE que tu lui indiques, c'est tout.
Si dans ton eclipse.ini, tu ajoutes le paramètre -vm, met-le juste avant -vmargs.
__________________
Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
Pensez à cliquer sur le bouton une fois votre problème solutionné, merci.
Laurent.B est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2012, 13h44   #5
Walkn
Nouveau Membre du Club
 
Homme
Inscription : décembre 2007
Messages : 62
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : décembre 2007
Messages : 62
Points : 29
Points : 29
Je viens de trouver ceci et je pense que cela pourra en aider plus d'un :

Eclipse fait ceci au démarrage selon moi :

Citation:
Finding a VM, Using JNI Invocation or Executing Java

It turns out that writing a JNI launcher for multiple vms on multiple platforms is easier said than done. JNI launching does not currently work on all platforms for all vms. Because of this, the launcher can start the Java Virtual Machine either in process through the JNI Invocation API, or in a seperate process by executing the java launcher. Which method is used depends on how the vm was found.

On most platforms, we use JNI launching unless a -vm argument was given that points directly to a java executable.

More specifically, a virtual machine and launch method is chosen as follows:
No -vm specified

When no -vm is specified, the launcher looks for a virtual machine first in a jre directory in the root of eclipse and then on the search path. If java is found in either location, then we look for a jvm shared library (jvm.dll on window, libjvm.so on *nix platforms) relative to that java executable.

If a jvm shared library is found we load it and use the JNI invocation api to start the vm.
If no jvm shared library is found, we exec the java launcher to start the vm in a new process.

-vm specified on command line or in eclipse.ini

Eclipse can be started with "-vm <location>" to indicate a virtual machine to use. There are several possibilities for the value of <location>:

java.exe/javaw.exe: <location> is a path to a java launcher. We exec that java launcher to start the vm in a new process.
jvm.dll or libjvm.so: <location> is a path to a jvm shared library. We attempt to load that library and use the JNI Invocation API to start the vm in the current process.
vmDesc.ee: <location> is a path to a file ending in ".ee". This file is expected to describe the execution environment for a jvm. See the Execution Environment Descriptions page.
directory: <location> is a directory. We look in that directory for: (1) a default.ee file, (2) a java launcher or (3) the jvm shared library. If we find the jvm shared library, we use JNI invocation. If we find a launcher, we attempt to find a jvm library in known locations relative to the launcher. If we find one, we use JNI invocation. If no jvm library is found, we exec java in a new process.
Walkn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2012, 14h23   #6
Laurent.B
Rédacteur/Modérateur
 
Avatar de Laurent.B
 
Homme Laurent Barbareau
Ingénieur développement logiciels
Inscription : novembre 2004
Messages : 2 987
Détails du profil
Informations personnelles :
Nom : Homme Laurent Barbareau
Âge : 40
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 2 987
Points : 14 728
Points : 14 728
Envoyer un message via Skype™ à Laurent.B
Ok, effectivement t'as bien fait de persister dans ta recherche, un appel JNI est tenté si rien n'est paramétré spécifiquement.

Quoi qu'il en soit, préciser le JRE à utiliser est préférable pour éviter les surprises. Personnellement, j'utilisais pas mal la technique du répertoire jre copié dans le répertoire d'installation d'Eclipse. Au moins c'était fixé et en cas de mise à jour de Java, Eclipse n'était pas perturbé.
Sauf qu'en fait, quand on développe en Java, ce n'est pas forcément une bonne idée car il peut s'avérer utile, pour plusieurs raisons, qu'Eclipse s'appuie plutôt sur un JDK. Donc, à présent, j'utilise le paramètre -vm avec le chemin vers un JDK. Et quand une mise à jour Java est disponible (ou même nécessaire comme récemment), hé bien je modifie mon eclipse.ini en conséquence.
__________________
Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
Pensez à cliquer sur le bouton une fois votre problème solutionné, merci.
Laurent.B est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2012, 16h03   #7
Walkn
Nouveau Membre du Club
 
Homme
Inscription : décembre 2007
Messages : 62
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : décembre 2007
Messages : 62
Points : 29
Points : 29
Merci pour ton retour cela m'a bien aidé

Je suis maintenant aussi convaincu qu'il est judicieux d'ajouter le paramètre dans eclipse.ini afin que ce soit plus "propre".
Walkn est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 17h54.


 
 
 
 
Partenaires

Hébergement Web