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

Java Discussion :

Quels pbs pour une migration JDK 1.4.2_13 vers 1.5.0_10 ?


Sujet :

Java

  1. #1
    Membre Expert
    Avatar de elitost
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2003
    Messages
    1 985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 985
    Par défaut Quels pbs pour une migration JDK 1.4.2_13 vers 1.5.0_10 ?
    Bonjour,

    Nous travaillons actuellement avec JDK 1.4.2_13 et nous allons migrer vers 1.5.0_10.

    Nous utilisons Weblogic pour une partie web, une application RCP et du java standard.

    Quels pbs pourraient survenir (normalement aucun avec la compatibilité descendante) ? Avez vous des liens qui traitent des points à vérifier avant cette migration ?

    Merci d'avance

  2. #2
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    C'est plutôt de la compatibilité ascendante

    Sinon je ne pense pas qu'il y ait de solutions miracle et qu'il faut voir en détails les classes, méthodes utilisées dans ton projet

  3. #3
    Membre Expert
    Avatar de elitost
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2003
    Messages
    1 985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 985
    Par défaut
    Je me mélange toujours avec les compatibilités descendante et ascendante mais le principal c'est que ça soit comprit.

    Oui une solution serait de tester avec ce JDK plus récent, ce que nous allons devoir faire.

    Mais en attendant si qqn de passage avait un avis sur la question, je suis preneur.

    Merci d'avance

  4. #4
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    Nous n'avons eu aucun problème lors du passage de Java1.4 à Java5.
    Quelques soucis mineurs pour le passage Java5 à Java6 (principalement des erreurs dûes à des portions de code de qualité moyenne).

    Ce qui peut poser problème c'est l'utilisation de classes de sun.* ce qui n'est de toute façon pas conseillé de faire.

    Faites une batteries de test et vous verrez bien, mais je ne vois pas de soucis particulier à la migration.

  5. #5
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Salut,

    En effet il s'agit plutôt de la compatibilité ascendante



    Et il faut bien distinguer deux cas :

    • La compatibilité binaire, c'est à dire qu'une application compilée avec un JDK 1.4 fonctionnera de la même manière avec un JRE 5.0. C'est ce qui te permet de ne te soucier que de la précense d'une version "minimum" de la JVM lorsque tu déploie ton application. Généralement c'est ce qui pose le moins de problème !


    En général cela implique une modification dans le fonctionnement d'une méthode, ce qui est vraiment rare. Et même lorsque cela arrive il s'agit généralement de cas bien particulier.



    Bref la compatibilité binaire est surement ce qui te posera le moins de soucis... les problèmes viendront surtout de la (re)compilation (puisque je suppose que ton code est destiner à évolué et donc être recompilé).





    [*]En effet, le second point concerne la compatibilité des sources, c'est à dire qu'une application qui compilait avec
    un JDK 1.4 devra continuer à compiler correctement avec un JDK 5.0. Là c'est déjà un peu plus compliqué (même si ce n'est pas insurmontable).[/LIST]


    Il y a plusieurs cas qui peuvent aboutir à des erreurs de compilations sur un code, même sur un code qui compilait très bien. Par exemple une surcharge de méthode peut provoquer une ambiguité pour le compilateur, tout comme l'existence d'une classe homonyme si on utilise des import globaux ([b] import java.util.*)...


    Ensuite il y a les évolutions du langage qui peuvent poser quelques petits problèmes au compilateur... et avec Java 5.0 et ses nombreuses évolutions il y en a quelques unes... mais rien d'insurmontable :


    • Les énumérations introduisent un nouveau mot-clef : enum. Ce mot clef ne doit donc plus être utilisé comme nom de variable ou de méthode...
    • Plusieurs des méthodes qui acceptaient un tableau en paramètre attendent désormais une ellipse (nombre de paramètre variable). Cela peut provoquer un warning lorsqu'on passe qu'un seul paramètre et qu'il peut y avoir ambiguité...
    • Les Generics introduisent un grand nombre de warning, dont un lorsqu'on ne les utilise pas. Or ce sera le cas pour toutes tes classes qui utilisent les collections (entre autres).



    Je pense que les Generics risquent d'être le plus gros morceaux, si tu veux que ton code compile sans warning...




    Mais perso on a fait la même migration il y a quelques temps (application J2SE 1.4/J2EE 1.3 vers J2SE 1.5/J2EE 1.4) :

    • On n'a pas réellement migré le code :o a juste modifié quelques variables nommées enum, mais nos anciens codes n'utilisent toujours pas les Generics ! Cela génère un (très) grand nombre de warning (plus de 600 si je ne me trompe pas), mais cela a peu d'importance pour nous (et l'application fonctionne toujours de la même manière bien sûr).

      Par contre nos "nouveaux" codes utilisent tous les avantages de Java 5.0

    • Nous n'avons eu qu'un véritable problème lié à J2EE et Tomcat : la valeur retournée par la méthode request.getRequestURL() est modifié après chaque forward, alors que ce n'était pas le cas dans Tomcats 4.x ( c'était un bug de tomcat en fait), et on se basait dessus pour un traitement spécifique...

      Il nous as donc fallut adapter ce bout de code...

    • On a dû changer quelque chemins de fichiers, car on avait codés comme des porcs avec des chemins en dur et au format Windows (parce qu'en plus on faisait une migration Windows->Linux en même temps). Mais cela n'a rien à voir




    Bref, si tu veux a tout prix un code propre qui compile sans warning cela va demander un certain travail, mais les véritables problèmes seront plutôt mineures je pense...



    Enfin, je ne sais pas si tu le sais, mais Sun fournit des notes de compatibilité pour la migration : Version Compatibility with Previous Releases (1.4.2 -> 5.0)

    Jetes y un coup d'oeil


    a++

  6. #6
    Membre Expert
    Avatar de elitost
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2003
    Messages
    1 985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 985
    Par défaut
    Super, encore une fois merci.

    Pour les generics, je crois que nous ferons avec les warnings dans un premier temps (les délais sont toujours trop courts pour faire tout correctement).

    Pour ce qui est des modifications de signatures avec les ellipses, nous n'avons plus qu'à tester.

    Ensuite, comme nous allons recompiler les applis avec JDK 1.5 pour fonctionner avec une JRE 1.5 pas de pb ( sauf peut être dans le cas de notre appli RCP qui est déployée via JWS , les clients doivent être en 1.4, c'est assez gênant...)

    Ok, je vais voir le lien SUN...

    Merci encore.

  7. #7
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par elitost
    ( sauf peut être dans le cas de notre appli RCP qui est déployée via JWS , les clients doivent être en 1.4, c'est assez gênant...)
    Attention le code compilé avec du 1.5 ne peut fonctionner qu'avec des JVM 1.5 ou supérieur !

    Donc :
    • soit les clients migrent aussi.
    • soit l'appli RCP reste en 1.4


    a++

  8. #8
    Membre Expert
    Avatar de elitost
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2003
    Messages
    1 985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 985
    Par défaut
    Ok, c'est noté, de toute manière j'ai indiqué que pour le moment la migration n'est pas à envisagé compte tenu des délais.

    Il faut quand même tester avant...

    Merci et bonne journée.

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

Discussions similaires

  1. Quel ETL est à me conseiller pour une migration de bases ?
    Par Arvulis dans le forum Alimentation
    Réponses: 10
    Dernier message: 27/10/2006, 15h39
  2. [FB]Quel compte pour une 1ère connexion ?
    Par CYRILLUS dans le forum Débuter
    Réponses: 2
    Dernier message: 18/11/2005, 22h34
  3. Quels composants pour une synchro avec palm ?
    Par tipiweb dans le forum Composants VCL
    Réponses: 2
    Dernier message: 07/11/2005, 15h06
  4. Quel langage pour une meilleure portabilité Win/Linux
    Par darkervein dans le forum OpenGL
    Réponses: 3
    Dernier message: 22/04/2005, 14h59
  5. [Compilation] A quel moment pour une application ?
    Par Rick1602 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 04/03/2004, 20h36

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