IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Compatibilité d'applications Java avec les JRE 6 ou 7 en 32bits/64bits


Sujet :

avec Java

  1. #1
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2009
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2009
    Messages : 167
    Points : 118
    Points
    118
    Par défaut Compatibilité d'applications Java avec les JRE 6 ou 7 en 32bits/64bits
    Bonjour,

    J'ai un client qui souhaite utiliser XMind, développé en Java. Il s'appuie sur Eclipse et démarre sur un authentique exe Win32.

    Ce soft tourne bien sur ma version Win7 -32bits JRE7 32bits.

    Mon client est sous Win8, avec un JRE 7 32 bits installé. Le soft réclame au démarrage une version de JRE 6, dans le répertoire de programmes 32bits.

    A tout hasard, on installe la version 6 du JRE, mais en 64 bits. Même message d'erreur.
    Nous installons alors la version JRE6 32, et là tout fonctionne.

    Je ne comprends pas tout :

    Sur mon PC XMind prend la version 7 du JRE. Visiblement, en 64 bit, il ne la prend pas.
    Je pensais que la compatibilité était assurée. Visiblement il y a un problème en 64 bits concernant cette compatibilité, car en 32 (sur mon PC) cela fonctionne bien.

    D'autre part, je pensais que le JRE 64bits aurait pu faire tourner une application Java développée en 32bits. Il semblerait que non.

    Cela me laisse interrogatif car je suis en train de développer une application qui devra tourner sous tous types de configurations, y compris Mac et Linux.

    Qu'en pensez-vous ?

    Merci d'avance pour votre aide.

  2. #2
    Membre émérite
    Avatar de olivier.pitton
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2012
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 355
    Points : 2 814
    Points
    2 814
    Par défaut
    Sur mon PC XMind prend la version 7 du JRE. Visiblement, en 64 bit, il ne la prend pas.
    Je pensais que la compatibilité était assurée. Visiblement il y a un problème en 64 bits concernant cette compatibilité, car en 32 (sur mon PC) cela fonctionne bien.
    La compatibilité est assurée. La machine de ton client est-elle une machine 64 bits ? Car si ce n'est pas le cas, ça ne peut pas marcher.

    D'autre part, je pensais que le JRE 64bits aurait pu faire tourner une application Java développée en 32bits. Il semblerait que non.
    Si, il peut.

    A mon avis, le problème est autre. Tu as deux configurations identiques (JRE 7 32 bits) sur un Windows 7 et un Windows 8, pour la même application. Le problème vient peut être de l'OS plus que de Java ?

  3. #3
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    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 468
    Points : 17 036
    Points
    17 036
    Par défaut
    Bonjour,

    Les programmes Java sont compilés en bytecode pour fonctionner sur un JRE sans que la problématique de l'OS n'entre en jeu, ni qu'il soit question de 32 ou 64bits.

    Par contre, pour qu'Eclipse (ou une application dérivée) fonctionne, il faut qu'Eclipse et le JRE soient tous les deux en 64bits ou tous les deux en 32bits. Ceci vient du fait (de ce que j'en ai compris) qu'Eclipse utilise des fonctions natives du JRE (de manière directe) et doit donc se conformer au mode d'adressage dans lequel fonctionne celui-ci.

    Entre versions de JRE, la compatibilité est ascendante donc une application compilée en Java 6 fonctionnera avec un JRE 7. Cela dit, comme plusieurs versions de JRE peuvent cohabiter, il faut être attentif à celui qui va être utilisé. C'est pourquoi il faut s'assurer qu'Eclipse (ou une application dérivée) utilise le bon JRE pour s'exécuter. Pour cela, soit on configure en conséquence la variable d'environnement PATH (si cela n'interfère pas avec d'autres applications), soit on configure le fichier eclipse.ini (ou équivalent). Cf. http://eclipse.developpez.com/faq/?p...eform#autreJDK
    D'autre part, je pensais que le JRE 64bits aurait pu faire tourner une application Java développée en 32bits. Il semblerait que non.
    Tant que l'application Java n'est pas transformée en exécutable, comme dit au départ, la question des 32 ou 64bits n'entre pas en jeu.
    Si un OS 64bits quant à lui, accepte l'exécution de programmes 32bits, sans doute faut-il voir cela comme une possibilité offerte, afin de continuer à utiliser d'anciennes applications (qui auront peu de chances d'être recompilées en 64bits un jour), plutôt qu'un fonctionnement intrinsèque.

    En revanche, pour ce qui est de la dépendance Eclipse-JRE, si visiblement il n'y a rien qui autorise un Eclipse 32bits à s'exécuter avec un JRE 64bits, c'est probablement que cela n'aurait que trop peu d'intérêt et ne serait sans doute pas une affaire pour des questions de performances...
    Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
    Gardons toujours à l'esprit que le forum constitue une base documentaire, dont l'utilité et la qualité dépendent du soin apporté à nos questions et nos réponses. Soyons polis, précis (dans le titre et dans le corps des questions), concis, constructifs et faisons de notre mieux pour respecter la langue française et sa grammaire. Merci pour nous (les modérateurs) mais aussi et surtout, merci pour vous.
    Problème solutionné => je vais au bas de la page et je clique sur le bouton (qui suite à mise à jour du forum, a légèrement changé d'aspect).

  4. #4
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2009
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2009
    Messages : 167
    Points : 118
    Points
    118
    Par défaut
    Un grand merci pour cette réponse détaillée.

    J'en conclu donc qu'une appli java en JAR (pas exe) développée sous Eclipse (32 ou 64) tournera "toujours" à partir du moment où une version JRE identique ou supérieure à celle utilisée pour développer l'appli est présente sur le poste, qu'il soit lui-même en 32 ou 64 bits.

    Ais-je bien compris ?

    Très bon dimanche.

    Christian

  5. #5
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par weabow Voir le message
    J'en conclu donc qu'une appli java en JAR (pas exe) développée sous Eclipse (32 ou 64) tournera "toujours" à partir du moment où une version JRE identique ou supérieure à celle utilisée pour développer l'appli est présente sur le poste, qu'il soit lui-même en 32 ou 64 bits.

    Ais-je bien compris ?
    Oui... sauf si ton application utilise des librairies natives (via JNI/JNA).
    En effet dans ce cas là tu devras fournir la bonne version de la librairie native pour le système d'exploitation et l'architecture (32bits ou 64bits).


    Mais au niveau Java pure cela n'a aucun impact sur ton code ou la compilation...



    a++

  6. #6
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2009
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2009
    Messages : 167
    Points : 118
    Points
    118
    Par défaut
    Cool.

    Merci

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 05/10/2007, 18h35
  2. pb java avec les methodes natives
    Par sly0510 dans le forum Langage
    Réponses: 2
    Dernier message: 20/07/2006, 06h52
  3. Réponses: 6
    Dernier message: 18/05/2006, 14h11
  4. Réponses: 1
    Dernier message: 03/05/2006, 10h49
  5. Réponses: 2
    Dernier message: 26/05/2003, 19h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo