Si le comité chargé de gérer le développement de Java approuve la proposition faite par Oracle pour rendre la modularité, fonctionnalité clé de Java 9, moins perturbante, la migration de code vers cette nouvelle version attendue fin juillet s’en trouvera facilitée. Cette proposition intervient après les fortes réserves émises par la communauté Java au sujet du système de modules standardisés.
Jeudi dernier, Mark Reinhold, l'architecte en chef de Java chez Oracle, a déclaré que la forte encapsulation des API internes au JDK avait suscité des inquiétudes du fait que le code fonctionnant actuellement sur le JDK 8 ne fonctionnerait pas sur le JDK 9 et qu’il n’en avait été fait aucune mention préalable dans le JDK 8. « Afin d’aider l'ensemble de l'écosystème à migrer vers la plate-forme Java avec modules à un rythme plus souple, je propose par la présente de permettre par défaut, jusqu’à une future version, un accès illégal de code à la variable classpath dans le JDK 9 », a-t-il déclaré.
Une évolution attendue par les acteurs Java
« Si cette proposition est retenue, le « big kill switch » prévu actuellement par l'option « -permettre-accès illégal » sera appliqué par défaut par le runtime JDK 9, et sans avertissements », a encore déclaré Mark Reinhold. « Le comportement actuel du JDK 9, qui interdit les opérations d'accès illégales du code sur le classpath, sera rétabli par défaut dans une version ultérieure. Rien ne changera au moment de la compilation ».
Comme l’a déclaré l'architecte en chef de Java chez Oracle, « ce changement ne résoudra pas comme par magie tous les problèmes d'adoption du JDK 9 ». Les types de chargeurs de classe Java intégrés restent différents, rt.jar n’est plus présent, la disposition d'une image système n'est pas la même et la chaîne de version conserve son nouveau format.