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 :

Java 9 est disponible, la plateforme se met aux modules tour d'horizon des nouveautés


Sujet :

Java

  1. #21
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 130
    Points
    9 130
    Par défaut
    Citation Envoyé par grunt2000 Voir le message
    Là je blâme parce que les conséquences elles sont déjà prévisibles.
    Vu l'impact qu'il a, tout va devoir être refait.

    ...
    nous avons déjà eu ce genre de réaction par le passé. comme lorsqu'un acteur très connu a sorti une machine sans lecteur de disquette. ou lorsqu'on est passé de 32 a 64 bit.
    oui ça change la donne mais il ne faut pas exagérer. lorsque ce sera digéré on dira. mais comment on a pu faire sans ça.

    A+JYT

  2. #22
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 608
    Points : 672
    Points
    672
    Par défaut
    C'est gentil de part et d'autre d'ironiser,
    mais on va bien voir la todo-list des premières entreprises qui voudront migrer.

    Je ne vois pas comment à cet instant où l'on constate que pour faire fonctionner des applications il faut soit les remplacer soit les reparamétrer,
    dans quelques mois (ou même quelques années) ces mêmes applications pourraient se remettre à fonctionner d'elles-mêmes avec Java 9.

    Or une entreprise n'a pas que des applications récentes.
    Elle en a qui ont un ou deux ans d'âge,
    d'autres qui ont quatre ou cinq ans,
    et parfois une ou deux anciennes de plus de cinq ans, voire dix.

    Pour le moment, pas d'urgence : elles peuvent vivre avec en Java le plus ancien : Java 7, quoi qu'il soit en EoS / EoL ; leur urgence immédiate est surtout de migrer les systèmes employant encore Java 6, car eux deviennent dangereux.
    Mais quand viendra le temps où on leur dira, en 2019 mettons, "Passez à Java 9, cette fois.", eh bien ce jour-là, les problèmes que posent aujourd'hui Java 9 n'auront pas changé d'un iota par rapport à aujourd'hui. Elles devront tout réviser, recompiler, re-packager et obtenir des solutions d'éditeurs divers pour remettre droites les applications qu'elles ont, et qui auront alors trois, six ou sept, voire plus de sept ou douze ans d'âge.

    Vous pensez : "De l'eau sera passé sous les ponts d'ici là, et les services informatiques se seront préparés et sauront su faire face.".
    Certainement. Mais avec beaucoup plus d'efforts et de difficultés, à mon sens, qu'avec toutes les versions antérieures de Java.

  3. #23
    Expert confirmé Avatar de yildiz-online
    Homme Profil pro
    Architecte de domaine
    Inscrit en
    Octobre 2011
    Messages
    1 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de domaine

    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 447
    Points : 4 570
    Points
    4 570
    Par défaut
    Citation Envoyé par grunt2000 Voir le message
    Pour le moment, pas d'urgence
    Effectivement, le support étendu de java 8 est prévu jusque 2025, d'ici là, on peut espérer que les société auront eu l'opportunité de migrer / décommissioner leur anciennes applications...

    http://www.oracle.com/technetwork/ja...ol-135779.html

  4. #24
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 72 948
    Points
    72 948
    Par défaut
    nous avons déjà eu ce genre de réaction par le passé. comme lorsqu'un acteur très connu a sorti une machine sans lecteur de disquette. ou lorsqu'on est passé de 32 a 64 bit.
    oui ça change la donne mais il ne faut pas exagérer. lorsque ce sera digéré on dira. mais comment on a pu faire sans ça.
    Pas faux.

    Mickael

  5. #25
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 254
    Points : 192
    Points
    192
    Par défaut
    Je travaille sur une application Java depuis des années.

    J'ai commencé avec Java 6 et migrer vers Java 7 puis Java 8.
    A chaque fois la compatibilité était parfaite (dans mon cas).

    Ensuite petit à petit on réécrit du code pour profiter de la nouvelle version...en douceur.

    Et là...C'est la rupture brutale...Pas de compatibilité...ça ne fonctionne pas du tout.

    Je trouve qu'il est impératif qu'une application faite sous Java 8 fonctionne directement sous Java 9...c'est de la folie ce que Oracle a fait.
    A la rigueur abandonner Java 6 et 7 mais pas le 8...c'est du grand n'importe quoi !

    En plus vous avez vu le Oracle Java SE Public Updates...plus de maj après Sep 2018 pour Java 8.

    Merci Oracle.

  6. #26
    Expert confirmé Avatar de yildiz-online
    Homme Profil pro
    Architecte de domaine
    Inscrit en
    Octobre 2011
    Messages
    1 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de domaine

    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 447
    Points : 4 570
    Points
    4 570
    Par défaut
    Citation Envoyé par genamiga Voir le message
    Et là...C'est la rupture brutale...Pas de compatibilité...ça ne fonctionne pas du tout.
    Qu'est-ce qui ne fonctionne pas?

  7. #27
    Membre extrêmement actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2015
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

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

    Informations forums :
    Inscription : Mars 2015
    Messages : 1 109
    Points : 2 602
    Points
    2 602
    Par défaut
    Citation Envoyé par genamiga Voir le message
    Et là...C'est la rupture brutale...Pas de compatibilité...ça ne fonctionne pas du tout.
    C'est Jigsaw qui fout la merde ?

  8. #28
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 608
    Points : 672
    Points
    672
    Par défaut Java 9 est un four
    Eh bien, je maintiens mes dires.
    Quatre mois après sa sortie, ici, sur ce forum Java, il n'y a aucun sujet, aucune question technique relative à Java 9.
    Un contradicteur me trouvera peut-être deux ou trois liens, bien sûr. Mais fait-il 1% des questions ?

    À l'inverse de Java 8 à sa sortie, qui avait provoqué l'engouement et où les illustrations et questions n'avaient pas tardé à venir quant à son emploi,
    personne ne l'a utilisé dans un développement professionnel au point d'avoir eu à interroger la communauté. C'est un fait remarquable.

    Je veux bien qu'on me dise qu'il faut demeurer patient, et qu'il est un succès,
    à condition qu'on me décrive alors ce qui aurait été un échec.

  9. #29
    Expert confirmé Avatar de yildiz-online
    Homme Profil pro
    Architecte de domaine
    Inscrit en
    Octobre 2011
    Messages
    1 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de domaine

    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 447
    Points : 4 570
    Points
    4 570
    Par défaut
    Pour ma part ce qui est bloquant:

    -Au boulot, ce n'est pas une LTS, et l'ecosystème autour n'est pas mature, maven qui nécessite des versions m1 de ses plugins pour être compatible.
    -Au niveau perso, pas de jvm windows 32 bits, ce qui fait que je dois compiler les dépendances natives en 64, donc priorité plus basse.

    Java 9 est intéressant, mais la migration n'est pas aussi transparente qu'avec le 8, donc forcément ça traine, d'autant plus que la feature majeure, la modularité, est plus intéressante pour les architectes que les devs, idem pour la réduction de l'empreinte mémoire.

  10. #30
    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
    Citation Envoyé par yildiz-online Voir le message
    Java 9 est intéressant, mais la migration n'est pas aussi transparente qu'avec le 8, donc forcément ça traine, d'autant plus que la feature majeure, la modularité, est plus intéressante pour les architectes que les devs, idem pour la réduction de l'empreinte mémoire.
    +1

    Je rajouterais que Java 8 apportait de nombreuses nouveautés dans le langage (lambda, référence de méthode, méthodes par défaut dans les interfaces) avec un impact sur de nombreuses APIs (ancienne ou nouvelle).

    Java 9 comporte un gros morceau avec Jigsaw, mais coté langage cela n'apporte rien pour le développeur.

  11. #31
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 254
    Points : 192
    Points
    192
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
            at Outils.Options.lireOptions(Options.java:456)
            at Outils.Options.setupOptions(Options.java:343)
            at Omega.OmegaApp.main(OmegaApp.java:82)
    Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
            at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
            at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
            at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
            ... 3 more
    L'application Omega fonctionne parfaitement sous Java 8

  12. #32
    Membre chevronné
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Points : 1 855
    Points
    1 855
    Par défaut
    tu as essayé avec java --add-modules javax.xml.bind,javax.xml, etc. ... ?

  13. #33
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 254
    Points : 192
    Points
    192
    Par défaut
    Pareil...

    Apparement ces librairies font partie de JavaEE et ne sont plus accessibles directement dans Java9 alors qu'elles l'étaient avec les versions précédentes... Elles seront probablement supprimées de Java 10.

    Que faire ?

  14. #34
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 608
    Points : 672
    Points
    672
    Par défaut
    Pour chaque ligne de commande lancée par Java 9 alors qu'elle était autrefois utilisée en Java 8, il pourra falloir rajouter un --add-modules avec des paramètres à sélectionner à chaque fois en fonction des manques constatés, empiriquement, ou à l'aide d'un outil d'analyse dédié, quand il existera.

    Pour les composants tierce partie embarqués dans un logiciel et dysfonctionnant par des NoClassDefFoundError, si l'on ne peut les résoudre par un --add-modules inséré quelque-part, il faudra demander leur mise à jour à leur éditeur.

  15. #35
    Membre chevronné
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Points : 1 855
    Points
    1 855
    Par défaut
    Citation Envoyé par grunt2000 Voir le message
    Pour chaque ligne de commande lancée par Java 9 alors qu'elle était autrefois utilisée en Java 8, il pourra falloir rajouter un --add-modules avec des paramètres à sélectionner à chaque fois en fonction des manques constatés, empiriquement, ou à l'aide d'un outil d'analyse dédié, quand il existera.

    Pour les composants tierce partie embarqués dans un logiciel et dysfonctionnant par des NoClassDefFoundError, si l'on ne peut les résoudre par un --add-modules inséré quelque-part, il faudra demander leur mise à jour à leur éditeur.
    pas nécessaire de se taper la recherche des détails
    il y a une possibilité de passer à --add-modules des paramètres comme ALL-DEFAULT, ALL-SYSTEM, ALL-MODULE-PATH.

  16. #36
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 254
    Points : 192
    Points
    192
    Par défaut
    Ces librairies sont deprecated regardez là

    https://docs.oracle.com/javase/9/mig...B-D931174C09A3

    Et quand Oracle supprimera ces librairies on fera quoi ?

    Et je le rappelle dernière maj Java8 en septembre 2018...

    Dire qu'au départ j'ai choisi Java entre autre pour sa rétro compatibilité...

    Merci Oracle.

  17. #37
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 608
    Points : 672
    Points
    672
    Par défaut
    Je pense qu'Oracle finira par sortir une version patchée qui provoquera un chargement en ALL de tous les modules par défaut,
    et c'est explicitement que les développeurs mettront des --remove-modules à la place... s'ils y tiennent vraiment !
    Ce sera plus facile d'emploi, si l'emploi de la fonctionnalité modulaire n'est plus imposée.

    C'est la seule solution facile et immédiate que je vois pour donner une chance à Java 9 de repartir.

    Car aujourd'hui, six mois (ou presque) après son lancement, personne ne l'a encore utilisé.
    Il n'a encore servi à rien.
    Je n'ai jamais connu pareil fiasco.

    (enfin ... à part Struts 2).

  18. #38
    Expert confirmé Avatar de yildiz-online
    Homme Profil pro
    Architecte de domaine
    Inscrit en
    Octobre 2011
    Messages
    1 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de domaine

    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 447
    Points : 4 570
    Points
    4 570
    Par défaut
    Citation Envoyé par grunt2000 Voir le message
    Car aujourd'hui, six mois (ou presque) après son lancement, personne ne l'a encore utilisé.
    Il n'a encore servi à rien.
    Je n'ai jamais connu pareil fiasco..
    C'est un peu normal, les librairies doivent pouvoir continuer à tourner sur des version de java plus anciennes, les libs qui requièrent absolument java 8 sont déjà rares, alors java 9...

    Cependant la JEP238 (multi-release jar) devrait permettre de mitiger la situation, mais ça ajoute un coût de maintenance certain.

    Sinon certaines libs s'y mettent, c'est le cas de SLF4j, hibernate validator, spring-boot entre autre,... donc c'est pas si mal.

    Pour ma part, j'ai migré mon code perso, pas toujours une sinécure (activemq passe mal par exemple), mais globalement, c'est un changement très positif, d'un point de vue encapsulation et exposition des API, c'est une vraie avancée. Et si on l'aime pas, on peut toujours passer sur java 9 sans utiliser les modules...

  19. #39
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 254
    Points : 192
    Points
    192
    Par défaut
    En suivant les recommandations de Oracle trouvées sur https://docs.oracle.com/javase/9/mig...B-D931174C09A3, j'ai enfin une solution.

    Pas très élégante et qui demandera sans doute de l'attention dans l'avenir.

    Il faut récupérer les libs Java EE dont on a besoin sur Maven Central et les ajouter explicitement à son projet.

    Alors cela fonctionne sous Java 8 et 9, et cela fonctionnera aussi quand Oracle supprimera ces libs d'une version future de Java.

  20. #40
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 335
    Points : 524
    Points
    524
    Par défaut
    Citation Envoyé par yildiz-online Voir le message
    C'est un peu normal, les librairies doivent pouvoir continuer à tourner sur des version de java plus anciennes, les libs qui requièrent absolument java 8 sont déjà rares, alors java 9...

    Cependant la JEP238 (multi-release jar) devrait permettre de mitiger la situation, mais ça ajoute un coût de maintenance certain.

    Sinon certaines libs s'y mettent, c'est le cas de SLF4j, hibernate validator, spring-boot entre autre,... donc c'est pas si mal.

    Pour ma part, j'ai migré mon code perso, pas toujours une sinécure (activemq passe mal par exemple), mais globalement, c'est un changement très positif, d'un point de vue encapsulation et exposition des API, c'est une vraie avancée. Et si on l'aime pas, on peut toujours passer sur java 9 sans utiliser les modules...
    Je fais justement du Spring boot en java 9, et on peut difficilement dire qu'ils s'y mettent, ils n'utilisent pas le fichier module-info, et ils proposent à la place d'ajouter des --add-modules pour que lancement fonctionne, c'est simplement compatible java 9 sans plus.

    Pour slf4j oui il font une version java9 dans une branche spécifique, qui est encore en bêta.

    Après je regrette pas mon choix du java 9, mais j'ai un peu l'impression d'essuyer les platres.

Discussions similaires

  1. Java 8 est disponible, la plate-forme se met aux expressions lambdas
    Par Hinault Romaric dans le forum Général Java
    Réponses: 32
    Dernier message: 24/12/2014, 15h26
  2. Quelle API Java pour un jeu de plate forme 2D ?
    Par dawadam dans le forum API graphiques
    Réponses: 0
    Dernier message: 16/06/2011, 23h25
  3. [java] Moteur de jeu de plate-forme
    Par luckyvae dans le forum Projets
    Réponses: 12
    Dernier message: 15/08/2007, 23h06
  4. Message: 'ce symbole est propre à une plate-forme'
    Par neho88 dans le forum Delphi
    Réponses: 4
    Dernier message: 18/10/2006, 16h14

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