Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 9 sur 9
  1. #1
    Nouveau Membre du Club
    Homme Profil pro
    Inscrit en
    décembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : décembre 2007
    Messages : 67
    Points : 28
    Points
    28

    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.

  2. #2
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro Laurent Barbareau
    Ingénieur développement logiciels
    Inscrit en
    novembre 2004
    Messages
    3 228
    Détails du profil
    Informations personnelles :
    Nom : Homme Laurent Barbareau
    Âge : 41
    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 : 3 228
    Points : 14 709
    Points
    14 709

    Par défaut

    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.

  3. #3
    Nouveau Membre du Club
    Homme Profil pro
    Inscrit en
    décembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : décembre 2007
    Messages : 67
    Points : 28
    Points
    28

    Par défaut

    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 ?

  4. #4
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro Laurent Barbareau
    Ingénieur développement logiciels
    Inscrit en
    novembre 2004
    Messages
    3 228
    Détails du profil
    Informations personnelles :
    Nom : Homme Laurent Barbareau
    Âge : 41
    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 : 3 228
    Points : 14 709
    Points
    14 709

    Par défaut

    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.

  5. #5
    Nouveau Membre du Club
    Homme Profil pro
    Inscrit en
    décembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : décembre 2007
    Messages : 67
    Points : 28
    Points
    28

    Par défaut

    Je viens de trouver ceci et je pense que cela pourra en aider plus d'un :

    Eclipse fait ceci au démarrage selon moi :

    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.

  6. #6
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro Laurent Barbareau
    Ingénieur développement logiciels
    Inscrit en
    novembre 2004
    Messages
    3 228
    Détails du profil
    Informations personnelles :
    Nom : Homme Laurent Barbareau
    Âge : 41
    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 : 3 228
    Points : 14 709
    Points
    14 709

    Par défaut

    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.

  7. #7
    Nouveau Membre du Club
    Homme Profil pro
    Inscrit en
    décembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : décembre 2007
    Messages : 67
    Points : 28
    Points
    28

    Par défaut

    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".

  8. #8
    Membre à l'essai
    Homme Profil pro Jean-Pierre CASSOU
    Développeur informatique
    Inscrit en
    novembre 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Nom : Homme Jean-Pierre CASSOU
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : novembre 2013
    Messages : 16
    Points : 20
    Points
    20

    Par défaut Configuration pénible des logiciels

    Je trouve inadmissible que des logiciels éprouvés comme eclipse ne disposent pas d'installeurs 'on-click' fiables et qu'on doivent passer 99% de notre temps à bidouiller des paramètres.

    Où est la philosophie de Turbo Pascal, Delphi et même de Lazarus ?

  9. #9
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro Laurent Barbareau
    Ingénieur développement logiciels
    Inscrit en
    novembre 2004
    Messages
    3 228
    Détails du profil
    Informations personnelles :
    Nom : Homme Laurent Barbareau
    Âge : 41
    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 : 3 228
    Points : 14 709
    Points
    14 709

    Par défaut

    Citation Envoyé par JP CASSOU Voir le message
    Je trouve inadmissible que des logiciels éprouvés comme eclipse ne disposent pas d'installeurs 'on-click' fiables et qu'on doivent passer 99% de notre temps à bidouiller des paramètres.

    Où est la philosophie de Turbo Pascal, Delphi et même de Lazarus ?
    Eclipse ne s'installe pas, c'est un poil moins pratique mais c'est aussi un avantage et sinon il ne faut pas oublier qu''il est multiplateforme donc, moins il se préoccupe des particularités des OS, mieux il se porte.
    Cela dit, tu n'a pas complètement tort sur le fait que ce type de paramétrage pourrait tout de même être géré de manière plus aisée (en standard), notamment pour ceux qui découvrent Eclipse, Java...
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •