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 :

compilation :diff entre jdk 1.4 et 1.5


Sujet :

Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 73
    Points : 44
    Points
    44
    Par défaut compilation :diff entre jdk 1.4 et 1.5
    Salut a tous,

    J'ai quelques sources que je compile parfaitement en 1.5, je dois maintenant avoir le choix de les compiler aussi en 1.4...

    Quand je fais un make en 1.4 j'ai des erreurs que j'e n'avais pas avec 1.5 genre au @override... (pas très grave me direz vous!)

    Par contre j'ai ce soucis ci pour plusieurs .java :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    org/owasp/csrfguard/CSRFConfig.java:215: '(' or '[' expected
                    List<String> names = new LinkedList<String>();
    Avec un ^qui pointe en dessous du < de LinkedList<String>

    Quelqu'un aurait-il une idée de comment pallier ce problème?

    Merci d'avance


    Bogizo

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Points : 653
    Points
    653
    Par défaut
    Les générics ont été introduits dans le langage Java avec la version 1.5.

  3. #3
    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 verbose Voir le message
    Les générics ont été introduits dans le langage Java avec la version 1.5.
    +1... parmis d'autres évolutions : Présentation de J2SE 5.0 Tiger


    Lorsqu'on développe on ne doit pas vouloir faire du code qui compile avec une version antérieur : on doit développer avec la version minimum avec laquelle on veut être compatible...

    a++

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 73
    Points : 44
    Points
    44
    Par défaut
    oui je sais mais cette demande m'est arrivée apres..

    Une solution pour remplacer cela? par un compatibilité 1.4?

    merci

  5. #5
    Membre confirmé Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Points : 576
    Points
    576
    Par défaut
    Etant donné que les générics sont apparue avec la version 1.5, la solution va etre du supprimer toute généricité. tes list ne doivent donc pas déclarer par l'intermédiaire des balise <> leur type de données.

    tu as egalement la solution de comopiler tes jar en version 1.4 et 1.5 et de les différencier via un numéro de version...

  6. #6
    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
    En standard non : si tu développes en 1.5 ta cible est forcément du 1.5...



    • Il existe bien la "solution" de compiler avec -target jsr14 pour générer du bytecode 1.4 à partir de source 1.5, mais ce n'est pas une option officielle.
      De plus cela ne garantie pas que le code s'exécute correctement sur une JVM 1.4 : le bytecode sera bien correct, mais il pourrait pointer vers des classes/méthodes inexistantes en 1.4 ce qui provoquera une erreur à l'exécution.

      Bref je te déconseillerais plutôt de faire cela.


    • Il existe le projet RetroWeaver, qui "transforme" des classes compilée en 1.5 pour qu'elles soient compatible en 1.4.
      Toutefois ce n'est pas un outil officiel et tu devras déployer un jar de retroweaver avec ton application (ce dernier remplacera les classes/méthodes ajoutés).

      Mais je ne sais du tout si c'est suffisamment fiable pour être utilisable...


    • Enfin : tu modifies ton code en mettant en commentaires les Genercis et autres annotations, et en remplacant les nouvelles structures (enum, for étendus, ...) afin de coder en 1.4 et tu compiles avec un jdk 1.4

      C'est long et pas très cool à faire mais cela marchera



    a++

  7. #7
    Membre éprouvé Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 908
    Points
    908
    Par défaut
    bogizo je comprend aps bien pourquoi on pourrai avoir le choix de compiler en 1.4 ou 1.5 : c'est quoi le but ???

    si c'est car certains n'ont que la 1.4 et pas la JVM 1.5 hé ben ils l 'installe tout en gardant leur 1.4 : ils pourront s en servir comme avant .....

  8. #8
    Membre confirmé Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Points : 576
    Points
    576
    Par défaut
    Le probleme est qu'a partir de la 1.5 les generics apparaissent et que c bien pratique les generic ^^
    S'il compile en 1.5 , il aura besoin d'un tomcat 5. Hors il ne dispose surement que d'un tomcat 4 et donc il doit compiler en 1.4, oubliant les générics ...

  9. #9
    Membre éprouvé Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 908
    Points
    908
    Par défaut
    on peut pas installer n importe quelle JVM sur un tomcat 4 ???

  10. #10
    Membre confirmé Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Points : 576
    Points
    576
    Par défaut
    Sisi, mais a priori c'est pas une très bonne idée de mettre une jvm 5 sur un tomcat 4 . D'apres plusieurs echos, ca pose probleme a plusieurs niveau notamment au niveau des servlet.

  11. #11
    Membre éprouvé Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 908
    Points
    908
    Par défaut
    ouais mais

    si lui il s en sert pas des servlet hé ben il peut installer la 1.5 et s en servir ...
    les autres n auront cas se servir de la 1.4

    parce que cette solution c'est juste installer la jvm .... même pas 5 min contrairement a modifier je ne sais combien de ligne de code ...

    a mon avis ça vaut le coup de tester l installation de la 1.5 ....

  12. #12
    Membre confirmé Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Points : 576
    Points
    576
    Par défaut
    Ha oue c clair que de toute facon ca vaut le coup de tester ^^
    Mais je doute. Faudrai essayer pour en avoir le coeur net ^^

  13. #13
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    • Il existe bien la "solution" de compiler avec -target jsr14 pour générer du bytecode 1.4 à partir de source 1.5, mais ce n'est pas une option officielle.
      De plus cela ne garantie pas que le code s'exécute correctement sur une JVM 1.4 : le bytecode sera bien correct, mais il pourrait pointer vers des classes/méthodes inexistantes en 1.4 ce qui provoquera une erreur à l'exécution.

    J'ai eu du mal à retrouver l'exemple. Mais le problème typique peut se poser avec la classe BigDecimal

    Le code suivant va compiler sur les deux JDK mais il sera impossible d'exécuter celle compilé avec la 1.5 sur la 1.4
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int e = 5;
    BigDecimal b = new BigDecimal(e);

Discussions similaires

  1. [transact sql] diff entre 'set' et 'select'
    Par poosh dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 21/04/2006, 12h38
  2. Faire la diff entre nom log des données et du log
    Par maitrebn dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 13/02/2006, 19h56
  3. Diff entre Delphi 5 pro et 2005 pro
    Par rachid202446 dans le forum EDI
    Réponses: 1
    Dernier message: 09/09/2005, 14h58
  4. [Concept][Définition] Différence entre JDK et SDK
    Par mr-casimir dans le forum Général Java
    Réponses: 5
    Dernier message: 25/05/2004, 12h23
  5. Réponses: 6
    Dernier message: 24/03/2003, 17h11

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