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 :

Oracle annonce la sortie officielle de Java 11


Sujet :

Java

  1. #1
    Expert éminent sénior

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2013
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

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

    Informations forums :
    Inscription : Janvier 2013
    Messages : 320
    Points : 27 370
    Points
    27 370
    Billets dans le blog
    1
    Par défaut Oracle annonce la sortie officielle de Java 11
    JDK 11 : trois nouveautés sont prévues ainsi que la suppression de JAVA EE, JavaFX et CORBA,
    dans le cadre des mises à jour semestrielles

    Dans le cadre de la nouvelle cadence de lancement de chaque six mois, adoptée pour l’édition standard de Java, Oracle est en train de peaufiner les dernières fonctionnalités de prochaine la version du JDK, la version 11, dont la sortie est prévue en septembre 2018. Cette version contrairement à JDK 10, est une version LTS pour « Long Term Support » ou version avec un support à long terme. Elle devrait avoir un support Oracle de premier niveau jusqu’en septembre 2023 et un support étendu incluant des correctifs et des alertes de sécurité jusqu’en 2026.

    Succédant au JDK 10 lancé le 20 mars, seules trois nouvelles fonctionnalités sont annoncées à ce jour bien que d’autres puissent s’y greffer avant la date de sortie prévue.

    • Le format de fichier de classe Java qui sera étendu pour prendre en charge une nouvelle forme de pool de constante, CONSTANT_Dynamic.
    • Le mot clé « var » sera désormais utilisable lors de la déclaration des paramètres formels d'une expression lambda typée implicitement. En d’autres termes, une syntaxe à variable locale pour les paramètres lambda doit suivre la syntaxe d'une déclaration de paramètre formelle dans une expression implicitement typée avec la syntaxe d'une déclaration de variable locale.
    • Le « garbage collector » ou ramasse-miette Epsilon, annoncé en tant que collecteur "no-op", gérera l'allocation de mémoire sans implémenter de mécanismes de récupération de mémoire. Les cas d'utilisation d'Epsilon comprennent les tests de performance, la pression de la mémoire et l'interface de la machine virtuelle. Il pourrait également être utilisé pour des utilisations de courtes durées.


    Nom : Screen Shot 2018-03-28 at 08.13.17.png
Affichages : 31122
Taille : 123,8 Ko

    Parallèlement à ces ajouts, certaines fonctionnalités ne seront plus présentes. En effet dans la version Java 11, Java FX ainsi que les modules CORBA et Java JEE seront supprimés. La suppression de JavaFX étant en cours se prolongera dans cette version puisque n’étant pas liée au programme de mise à jour semestrielle de Java JDK. Déprécié depuis Java SE9, le retrait des modules Java EE et CORBA était une mesure prévue et sera effectif avec JDK11.
    La suppression de CORBA peut être justifiée par deux facteurs. Premièrement, elle date des années 1990 et ne recèle plus aucun intérêt pour le développement d’applications Java modernes d’après Oracle. Enfin, les coûts de maintenance sont élevés comparés aux bénéfices rapportés. Cependant, cette suppression risque d’entrainer des dysfonctionnements sur des implémentations existantes. En effet, ces dernières risquent de ne pas fonctionner si elles n’incluent qu’une partie de l’API CORBA. Elles s’attendront à ce que le JDK leur fournisse le reste. De plus, il n’existe pas de versions tierces pour CORBA et il est peu probable qu’un tiers se décide à en prendre la charge.

    Pour ce qui est de la plateforme JAVA EE, la suppression est due à des difficultés de maintenance qu’elle a entrainées dans JAVA SE au fil de ses évolutions. Sortie en décembre 2011, JAVA SE 6 était accompagnée d’une large panoplie des services web utiles au développeur. Parmi ceux-ci, on peut en citer quatre qui étaient dédiés à JAVA JEE : JAX-WS (Java API for XML-based Web Services,**JAXB (Java Architecture for XML Binding), JAF (JavaBeans Activation Framework) et Common Annotations for Java. Ces ajouts de fonctionnalités pour JAVA EE ont entrainé des complications pour JAVA SE notamment parce qu’ils incluaient des fonctionnalités sans rapport avec cette dernière. Ainsi Oracle affirme qu’avec des versions « standalone » disponibles sur des sites tiers, il n’est plus nécessaire de l’inclure dans JAVA SE ou dans le JDK. Cependant, certaines applications pourraient ne pas compiler si elles s’appuient sur un support prêt à l’emploi du JDK pour les API et outils Java EE. Des incompatibilités binaires et de source se produiraient lors de la migration de JDK 6,7 et 8 vers une version ultérieure. Oracle recommande aux développeurs concernés par ces risques de déployer sur des versions alternatives des technologies Java EE à la place.

    Source : Mail List Open JDK, Open JDK

    Et vous ?

    Que pensez-vous de la suppression annoncée des trois modules cités plus haut de JDK 11 ?

    Voir aussi

    JDK 10 : les fonctionnalités de la prochaine version de Java sont désormais gelées, la sortie est attendue pour le 20 mars 2018

    Java 8 ne va plus recevoir de mises à jour et correctifs de sécurité à partir de septembre à moins de passer à un support commercial

  2. #2
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Suppression de... JavaFX? J'ai bien lu? C'est une blague??!

    N'ayant jamais vraiment utilisé, je ne vais pas trop m'en plaindre, mais par contre ça me semblait un framework moderne pour développer du standalone... le successeur de swing... mis en avant par Oracle (au moins durant un temps...) comme LA solution à tous nos problèmes

    ça devient un package séparé? ou c'est vraiment end of life?
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 97
    Points : 370
    Points
    370
    Par défaut
    Citation Envoyé par Pill_S Voir le message
    Suppression de... JavaFX? J'ai bien lu? C'est une blague??!

    N'ayant jamais vraiment utilisé, je ne vais pas trop m'en plaindre, mais par contre ça me semblait un framework moderne pour développer du standalone... le successeur de swing... mis en avant par Oracle (au moins durant un temps...) comme LA solution à tous nos problèmes

    ça devient un package séparé? ou c'est vraiment end of life?
    J'avoue ne pas comprendre, JavaFX permet la création d'application d'une manière super simple et de séparer la vue du reste, c'est le top. J'espère que c'est juste séparer JavaFX (et pk pas le laisser à la communauté); car bon, SWING et consorts, c'est quand même le meilleur moyen d'avoir des interfaces dégueulasses d'un autre age; en claire c'est la mort de Java pour les apps desktop.

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    940
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 940
    Points : 1 817
    Points
    1 817
    Par défaut
    D'après
    https://blogs.oracle.com/java-platfo...oadmap-updates
    JavaFx sera disponible comme module séparé.

    J'ai un projet JavaFx en production et ça ne me plait pas. JavaFx a besoin de davantage d'engagement de la part d'Oracle, pas moins.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Décembre 2014
    Messages : 6
    Points : 7
    Points
    7
    Par défaut ce que Jasper Potts en pense
    Jasper Potts, un des lead dev de JavaFX a retweeté 2 tweets:
    un tweet pessimiste : https://twitter.com/skovatch/status/971495384206880768
    un tweet de consolation : https://twitter.com/johanvos/status/971447653144899586

    Ca sent pas bon de toute manière

  6. #6
    Membre émérite
    Homme Profil pro
    Ingénieur en génie logiciel
    Inscrit en
    Juin 2012
    Messages
    856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur en génie logiciel
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2012
    Messages : 856
    Points : 2 442
    Points
    2 442
    Par défaut
    Citation Envoyé par robertledoux Voir le message
    J'avoue ne pas comprendre, JavaFX permet la création d'application d'une manière super simple et de séparer la vue du reste, c'est le top. J'espère que c'est juste séparer JavaFX (et pk pas le laisser à la communauté); car bon, SWING et consorts, c'est quand même le meilleur moyen d'avoir des interfaces dégueulasses d'un autre age; en claire c'est la mort de Java pour les apps desktop.
    le développement de nouvelle app desktop se fait quand même rare
    je vois presque peu d'offre d'emploi

  7. #7
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 855
    Points
    22 855
    Billets dans le blog
    51
    Par défaut
    Ahah des mots chocs pour un effet choc .

    Le principe est le même que pour Java EE (ou plutôt je devrais dire désormais Jakarta EE) : Oracle s'en désolidarise et le renvoie a son niveau de module séparé du JDK tel que c’était le cas lors de JavaFX 1.x, 2.0 et 2.1 (JavaFX a fait uniquement parti du JDK dans ses version 2.2, 8, 9 et 10). Comme le projet est OpenSource, il sera géré par l'OpenJFX qui est en train de s'organiser autour de Johan Vos et de Gluon pour manager la chose. Pour le moment il sont en train de simplifier la maniere de contribuer (mise en place d'un GitHub forkable) et de build, ensuite le plan c'est de fournir des binaires precompiles sous Maven et une distro ZIP.

    EDIT - et même si l'info est déjà passée dans une autre news, coté client les vraies suppressions dans le JDK 11 sont celles des Applets et de Java Web Start qui vont eux tomber aux oubliettes (pas de passage en OpenSource pour JWS). La roadmap indique que Oracle cherche même un repreneur pour Swing sur le long terme, c'est dire a quel point le desktop ne les intéresser plus (ça se voyait quand même depuis 2013), sans doute faute de reel plan ou de rentrées financières suffisantes. Le fait de larguer JEE me fait juste dire que Java ne rapporte sans doute pas assez d'argent pour Oracle, ce qui rejoint les rumeurs qu'on avait eut il y a 2 ans.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  8. #8
    Membre chevronné
    Avatar de la.lune
    Homme Profil pro
    Directeur Technique
    Inscrit en
    Décembre 2010
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Comores

    Informations professionnelles :
    Activité : Directeur Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2010
    Messages : 545
    Points : 2 084
    Points
    2 084
    Par défaut
    Pour JavaFX, c'est juste une question de suivi des mises à jours du JDK, que JavaFX ne pourra suivre le cycle de 6 mois, pas mais la plate-forme JavaFX restera encore là a évoluer et être utilisé. Et avec la modularité introduite dans JDK9, JavaFX est un module à part entière mais cela ne veut pas dire qu'il sera supprimé de la plate-forme Java, non mais il sera distribué séparément. Celui qui veut faire le JavaFX va télécharger le module JavaFX pour l'intégrer au projet.

    Mais ces informations sont déjà publiées ici par des gens qui connaissent les choses mais celui qui a publié cette actualité, on voit qu'il ne maîtrise pas bien ce qu'il dit, ce qui fait de la polémique.

  9. #9
    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 : 75
    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
    Ce qui me semble beaucoup plus inquiétant c'est que ça boite au niveau des techniques de déploiement (ça grince sur jigsaw-dev à ce sujet).

    - Java Web start est sur siège éjectable (mais pas encore éjecté) ... probablement au vu des problèmes des jars "exécutables"
    - justement les jars "exécutables" (on clique dessus) ne sont plus là avec les jars modulaires ... et donc par quoi les remplacer? pour l'instant par des scripts !
    - Les images jlink c'est chou ... mais c'est 1) spécifique à une plate-forme 2) délicat à mettre à jour dès qu'une nouvelle version de java apparait 3) troublant (doux euphémisme ) lorsqu'on veut mettre en place des plug-ins ou des données de configuration in situ

    Les migrations des bibliothèques et des apps. vers Java modulaire génèrent certes quelques souffrances mais il faudra aussi hurler bien fort pour que les techniques de déploiement soient remises à jour.
    J'ai des principes: je peux toujours trouver une bonne raison pour les contredire .... mais j'ai des principes!
    (mon excellent bouquin sur Java : https://eska-publishing.com/fr/livre...822407076.html)

  10. #10
    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
    Personnellement je vois plutôt d'un très bon œil le fait que certains modules puissent être détaché du JRE.
    Le JRE devrait vraiment se concentrer sur l'essentiel.

    Et ce n'est pas forcément une mise à mort.
    Au contraire le fait de séparer ces modules apporte même des avantages :
    • Ils pourront évoluer indépendamment de Java et avoir des cycles de release différent sans avoir à attendre la prochaine version de Java.
      Et ce même si avec le passage aux releases tous les 6 mois le problème est moins flagrant qu'avant...
    • Ils auront la possibilité de proposer des évolutions "incompatibles", ce qui est quasi-impossible dans le standard sans tout casser.
      Avec des modules distincts on peut tout à fait envisager cela sans trop de problème.




    Reste juste les problèmes de déploiements soulevé par professeur shadoko... mais je ne saurais en dire plus vu que je n'ai pas encore touché à Java 9 !

  11. #11
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Tout dépend toujours du point de vue sous lequel on observe un événement...

    Personnellement, je vois ça plutôt comme quelque chose de mauvais, quand tu dis:

    Ils pourront évoluer indépendamment de Java et avoir des cycles de release différent sans avoir à attendre la prochaine version de Java.
    ... moi je retiens plutôt:
    Et ce même si avec le passage aux releases tous les 6 mois le problème est moins flagrant qu'avant...
    donc avantage limité, mais surtout:
    Ils auront la possibilité de proposer des évolutions "incompatibles"
    ... et ça ça peut être plutôt méchant. Bien que n'ayant pas trop codé en C/C++, j'ai entendu tellement de fois les légendaires citations du genre "ouaaaaais quand tu prends la version 1.2 du compilateur avec la version 3.4 de telle librairie, ça fait que la version 5.6 de la dépendance truc a un bug alors faut upgrader machintruc en version 7.8 mais si tu fais ça tu pourras plus utiliser la syntaxe bidule-machin"...

    On était plutôt épargné avec Java, étant donné que tout beaucoup était géré par Sun/Oracle, on utilisait un runtime cohérent. J'ai peur que cela soit en train de disparaitre et que tout devienne très bordelique avec un JRE explosé en de multiples dépendences, plus vraiment sous contrôle...

    PS: souvenez-vous de Flex. ça lui a pas trop réussi d'être désolidarisé d'Adobe...
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  12. #12
    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 Pill_S Voir le message
    donc avantage limité
    Ça peut rester malgré tout plus "long" puisqu'il faut se caler sur le planning du JRE... Et si c'est pas prêt ou validé ça reporte de 6 mois...

    Citation Envoyé par Pill_S Voir le message
    On était plutôt épargné avec Java, étant donné que tout beaucoup était géré par Sun/Oracle, on utilisait un runtime cohérent. J'ai peur que cela soit en train de disparaitre et que tout devienne très bordelique avec un JRE explosé en de multiples dépendences, plus vraiment sous contrôle...
    Pourtant beaucoup de librairie se sont développées en dehors de Java SE/EE, parfois avant d'être intégrées plus tard.

    Le fait de pouvoir proposer des versions incompatibles permet aussi de passer outre les erreurs du passé...

    IMHO c'est très important pour la couche UI afin de pouvoir évoluer avec son époque...

  13. #13
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 185
    Points : 469
    Points
    469
    Par défaut
    C'est une bonne chose que l'on extirpe ces libs du framework Java, bien sûr cela restera des libs indépendantes disponibles dans le repository Maven.

    > Java Web start est sur siège éjectable (mais pas encore éjecté) ... probablement au vu des problèmes des jars "exécutables"

    Il serait effectivement aussi temps de virer la pire invention du monde Java, je connais des clients qui l'utilisent encore à fond cela et cela ne va pas les arranger mais dans le même temps ils sont à des années lumières d'arriver à Java 11 ...

  14. #14
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 855
    Points
    22 855
    Billets dans le blog
    51
    Par défaut
    Je sais que JWS fonctionne pour beaucoup de gens mais je sais aussi qu'il ne fonctionne pas pour beaucoup d'autres. Lors de la session de la JavaOne tournant autour en 2011 ou 12 (je sais pu ça date déjà) on était quand même 4 personnes dans la salle en train de se plaindre de manière assez virulente que ça ne fonctionnait pas du tout du tout, super pénible a mettre en place, impossible a diagnostiquer... M'enfin il me fallait passer par un outil externe (JaNeLa) pour valider les JNLP et corriger ceux pas vraiment optimises que me pondaient NetBeans ou ceux non-fonctionnels que je pouvais écrire a mano en suivant les références du format et autres didacticiels officiels
    De plus les commentaires laisses sur Twitter laissent a penser que le fait que ce n'est pas open source pour des raisons de copyright dans doute (la techno etait licenciée a un tiers ou repompée d'ailleurs ?) ou encore que le code est de trop mauvaise qualité pour être publié.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 5
    Points : 7
    Points
    7
    Par défaut Migration Applet / JNLP sous Java 11
    Bonjour ,
    J'ai une application qui tourne en Applet et qui s'exescute avec un JNLP sur le navigateur , comme vous le savez les applets et le jnlp vont être supprimer à partir de la version 11 ( janvier 2019 )
    J'envisage de faire une migration en Java 11 , et je me pose la question : est ce que je dois garder mon ancien code ( qui tourne depuis des années ) ou passer sur une nouvelles technologies basé sur java jee ou java fx
    D'après vous c'est quoi qui est mieux et moins violent pour cette migration : garder le code et maigrir vers les Swing ( ou FX ) ou bien changer la stratégie est passer au java fmk( spring boot / jsf ... )
    Merci d'avance pour vos conseils
    Cordialement .

  16. #16
    Membre éclairé

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 605
    Points : 670
    Points
    670
    Par défaut
    Sincèrement, je n'en peux plus.

    J'ai passé un week-end à essayer de migrer une application Java 8 en Java 10 et à la mettre en modules.
    Arrivé à un sous-projet utilisant Apache Spark, j'avais du mal : un module spark.core_2.11 m'était proposé, mais le placer dans module-info.java le faisait râler : il n'aime pas les chiffres ; j'étais étonné qu'un module puisse avoir ce nom-là, s'il ne convenait pas.
    J'ai cherché trop longtemps : il ne fallait pas. Spark 2.3.1, la dernière version, ne soutient pas Java 10. Pas la 9 non plus. Seulement la 8. J'étais grognon.

    C'en est ainsi de quasiment tout.
    Java 9+ ça peut être le 10 ou le 11, ça reste un fiasco. Un an après la sortie de Java 9, je n'ai pas vu d'entreprises et je ne aucun projet autour de moi qui ait migré dessus.
    Et surtout : aucune qui en ait l'intention. Et elles ont raison : il faudrait déjà que les projets open source, qui sont partie de nos logiciels, fonctionnent eux-mêmes avec du Java 9+ : c'est loin d'être le cas.

    En Janvier prochain, nous serons tous sur une version obsolète : Java 8. On aura jamais vu ça. Personne n'est capable de migrer.
    Qu'Oracle continue donc avec du Java 11, 12, 13 ! Ça ne sert à rien. Il fait du forcing à coup d'injonctions, mais nous sommes tous bloqués, tous coincés derrière.

    Comme il dit mon maître à penser : "J'voudrais trouver les mots, mais y a pas de mots."

  17. #17
    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 grunt2000 Voir le message
    Personne n'est capable de migrer.
    Il y a pourtant une solution simple : ne pas utiliser le système de module !

    Tant que les modules ne seront pas largement adoptés par les librairies tierces, ce sera inutilisable (ou difficilement).

    C'est pas vraiment anormal, on avait eu un peu les mêmes problèmes avec les Generics...

  18. #18
    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 : 73 024
    Points
    73 024
    Par défaut
    Je suis du même avis que AdiGuba, pour l'instant les modules je n'en occupe pas. Il y a des warnings quand certaines API souhaitent accéder à des éléments natifs du JDK, je ferme les yeux ;-)

    Mickael
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  19. #19
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Data Consultant
    Inscrit en
    Juillet 2013
    Messages
    2 888
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Data Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 2 888
    Points : 87 206
    Points
    87 206
    Billets dans le blog
    2
    Par défaut Oracle annonce la sortie officielle de Java 11
    Oracle annonce la sortie officielle de Java 11
    tour d'horizon des principales nouveautés de cette version LTS

    Oracle a annoncé mardi la disponibilité générale de Java 11, conformément à sa nouvelle cadence de publication de six mois adoptée il y a un an avec Java 9. Avec sa nouvelle cadence, quand une nouvelle version de Java est disponible, la version précédente va immédiatement cesser de recevoir des mises à jour publiques. C'est ce qui fait d'ailleurs que Java 11 est une mise à jour importante, car il s'agit de la première version LTS (bénéficiant d'un support à long terme) depuis qu'Oracle a décidé de sortir deux versions de Java par an. Elle est donc destinée aux utilisateurs qui privilégient la stabilité à un accès rapide aux nouvelles fonctionnalités.

    Pour en venir aux nouveautés, Java 11 ne fait pas moins que les versions précédentes. Cette version vient en effet avec un bon lot de nouveautés et de nombreux changements que les développeurs ne doivent pas ignorer.

    Dans Java 11, une nouvelle API HTTP fait son apparition. En fait, elle n'est pas tout à fait nouvelle, puisqu'elle a été introduite dans le JDK 9 (en incubation) et mise à jour dans le JDK 10. L'API HTTP a été standardisée dans Java 11. Dans le cadre de ce travail, l'API précédemment incubée, qui se trouvait dans le package jdk.incubator.http, a été supprimée. Les codes qui utilisent les types du package jdk.incubator.http devraient donc être mis à jour pour importer les types HTTP à partir de java.net.http.

    Java 11 met également à jour les API de plateforme existantes pour prendre en charge la version 10.0.0 du standard Unicode. Après le JDK 10, qui supportait Unicode 8.0.0, le JDK 11 combine en effet les versions 9.0.0 et 10.0.0 d'Unicode qui incluent 16 018 nouveaux caractères, 18 nouveaux blocs et 10 nouveaux scripts.

    Comme autre nouveauté, notons l'ajout du Z Garbage Collector, également appelé ZGC, un ramasse-miettes scalable à faible latence (en phase expérimentale). Il est conçu pour répondre à un certain nombre d'objectifs comme : des temps de pause qui ne dépassent pas les 10 ms ; et gérer des tas allant de quelques centaines de mégaoctets à plusieurs téraoctets. Précisons en passant que le tas est l'un des deux segments de mémoire utilisés lors de l'allocation dynamique de mémoire durant l'exécution d'un programme informatique. ZGC n'est pour le moment disponible que sous Linux/x64.

    Au nombre des nouveautés, soulignons aussi que le nom de type réservé var peut maintenant être utilisé lors de la déclaration des paramètres formels d'une expression lambda. Cette nouveauté s'appuie sur la capacité de Java SE 10 à utiliser var pour la déclaration de variables locales. Entre autres nouvelles fonctionnalités, avec Java 11, il sera possible de lancer des programmes fournis sous la forme d’un fichier unique de code source Java.


    Côté sécurité, Java 11 implémente les algorithmes de chiffrement ChaCha20 et Poly1305, mais aussi TLS 1.3, la dernière version du protocole de sécurisation des échanges sur Internet. On notera du côté des fonctionnalités obsolètes la suppression des modules Java EE et CORBA de la plateforme Java SE et du JDK. Ces modules étaient déclarés obsolètes depuis Java SE 9. Le moteur JavaScript Nashorn a été également déprécié dans Java 11. Comme lui, les outils pack200, unpack200 et l'API Pack200 dans java.util.jar sont désormais obsolètes.

    Si nous sommes loin de la liste exhaustive des changements introduits dans Java 11, on peut terminer sur des informations que les développeurs devraient savoir en utilisant Java 11. D'abord, les Applets et la plateforme de déploiement Web Start, obsolètes depuis Java 9, ont été supprimées dans cette nouvelle version. Il est aussi utile de rappeler que JavaFX n'est plus inclus dans le JDK. Il est maintenant disponible en téléchargement séparé depuis openjfx.io.

    Stephen Colebourne met en garde contre le téléchargement du JDK Oracle

    Si Java 11 est maintenant disponible, Stephen Colebourne, architecte et célèbre contributeur Java, estime qu'Oracle l’a délibérément ou accidentellement configuré pour être un piège pour les utilisateurs : le JDK Oracle vient avec une nouvelle licence. « Depuis 23 ans, les développeurs ont téléchargé le JDK d’Oracle et l’ont utilisé gratuitement. Tapez "JDK" dans votre moteur de recherche préféré, et le premier lien sera vers une page de téléchargement Oracle Java SE », explique Stephen Colebourne. « Mais cette recherche et ce lien sont désormais un piège : Oracle JDK, celui auquel toutes les recherches sur le Web vous amènent, est maintenant commercialisé ».

    Ainsi, le piège, selon lui, est que les développeurs vont télécharger le JDK Oracle (parce que c'est ce qu'ils ont toujours fait, et c'est suggèrent les recherches sur le Web) ; l'utiliser en production (car ils ne vont pas réaliser que la licence a changé) ; et recevoir plus tard un appel désagréable des équipes Licences d'Oracle exigeant de payer beaucoup d'argent.

    « En d'autres termes, Oracle peut amener [les développeurs] à télécharger la mauvaise version (commerciale) de Java. Si vous ne lisez pas attentivement les [termes], vous ne réaliserez peut-être même pas qu'Oracle JDK est maintenant commercial et que vous êtes donc tenu de payer Oracle pour Java », dit-il.

    Maintenant, est-ce un piège de la part d'Oracle ? L'architecte Java laisse les lecteurs se faire leurs propres opinions. Mais en attendant d’avoir une réponse, il y a une solution simple : utiliser une build OpenJDK. En plus de son JDK commercial, Oracle propose une build OpenJDK qui est gratuite et sous licence GPL, disponible sur le site jdk.java.net. Et il y aussi d'autres builds OpenJDK qui devraient bientôt être disponibles, comme celles d'AdoptOpenJDK ou de groupes autres qu'Oracle.

    Télécharger l'OpenJDK

    Sources : Annonce Oracle, OpenJDK, Stephen Colebourne

    Et vous ?

    Aviez-vous l'habitude de télécharger le JDK Oracle ? Que pensez-vous de ce changement licence ?
    Croyez-vous qu'Oracle voulait piéger les développeurs Java ?
    A part cela, que pensez-vous de cette nouvelle version de Java ?
    Quelles nouveautés appréciez-vous le plus ? Quels changements trouvez-vous décevants ? Pourquoi ?
    Qu'attendez-vous des prochaines versions ?

    Voir aussi :

    JavaFX 11 est enfin disponible en tant que module open source distinct du JDK : tour d'horizon des améliorations et des nouveautés
    JDK 11 : trois nouveautés sont prévues ainsi que la suppression de JAVA EE, JavaFX et CORBA, dans le cadre des mises à jour semestrielles
    Java 11 : migrer ou changer de langage, qu'envisagez-vous de faire suite aux derniers changements annoncés par Oracle ?
    Oracle annonce la sortie officielle de Java 10, ce qui signifie la fin des mises à jour et correctifs de sécurité gratuits pour Java 9
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  20. #20
    Membre éclairé

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 605
    Points : 670
    Points
    670
    Par défaut
    Pardonnez-moi d'être une freizh, mais je n'arrive pas à comprendre quelle est la différence entre la version open jdk et celle d'Oracle dans le code.

    Deux équipes concurrentes font la course à chaque fois pour implémenter des fonctionnalités de chaque côté,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // Open JDK
    public void increase() {
       this.value = this.value + 1;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // Oracle
    public void increase() {
       this.value = 1 + this.value;
    }
    ... en se tenant prêtes pour livrer toutes deux le 25 Septembre ?

    ou bien : c'est le même code mais on fait un package payant pour Oracle, et un gratuit pour open-jdk, ou qu'est-ce qui change ?

    Concrètement, c'est quoi les différences binaires entre les deux versions ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/08/2006, 15h45
  2. Réponses: 2
    Dernier message: 30/06/2006, 15h12
  3. Réponses: 4
    Dernier message: 23/04/2006, 10h36
  4. Réponses: 7
    Dernier message: 16/12/2005, 14h59
  5. Rafraichissement de la fiche ainsi que de tous les objets
    Par portu dans le forum Composants VCL
    Réponses: 7
    Dernier message: 06/01/2004, 00h25

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