Échec du build lors du déploiement vers Talend Cloud sur Java 17 - Solution de contournement
Lorsque vous exécutez des commandes Maven d'intégration continue, pour publier des artefacts dans Talend Cloud après votre passage à Java 17, il est possible que vous rencontriez ce type d'erreur de build :
Unable to make field private static volatile java.net.Authenticator
java.net.Authenticator.theAuthenticator accessible: module java.base
does not "opens java.net" to unnamed module XX
Pour résoudre ce problème, vous devez ajouter des modifications au fichier de configuration du démarrage de Maven.
Solution de contournement pour les personnes sous Windows
Ajoutez cette ligne au fichier <Maven_home>/bin/mvn.cmd :
set "MAVEN_OPTS=%MAVEN_OPTS% --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/sun.security.x509=ALL-UNNAMED --add-opens=java.base/sun.security.pkcs=ALL-UNNAMED"
Sauvegardez vos modifications et redémarrez le build.
Solution de contournement pour les personnes sous Linux
Ajoutez cette ligne au fichier <Maven_home>\bin\mvn :
export MAVEN_OPTS="$MAVEN_OPTS \
--add-opens=java.base/java.net=ALL-UNNAMED \
--add-opens=java.base/sun.security.x509=ALL-UNNAMED \
--add-opens=java.base/sun.security.pkcs=ALL-UNNAMED"
Sauvegardez vos modifications et redémarrez le build.
Solution de contournement pour Jenkins
Si vous utilisez Java 17 avec un serveur Jenkins, modifiez la partie TALEND_CI_RUN_CONFIG du fichier XML dans l'archive jenkins_pipeline_simple.zip pour ajouter ces paramètres.
Sauvegardez vos modifications et redémarrez le build.