Procédure
-
Cliquez sur
dans la barre d'outils de la fenêtre du Studio Talend ou cliquez sur File (Fichier) > Edit Project Properties (Modifier les propriétés du projet) dans la barre du menu pour ouvrir la boîte de dialogue Project Settings (Paramètres du projet).
-
Développez le nœud Build et cliquez sur Java Version pour ouvrir la vue correspondante.
Dans la liste déroulante JDK Compiler compliance level (Niveau de conformité du compilateur JDK), vous pouvez voir que le niveau de conformité du compilateur JDK pour le Studio Talend est 1.8.
Le niveau de conformité du compilateur (Compiler compliance level) correspond à la version de Java utilisée pour la génération de code des Jobs. Pour plus d'informations concernant la compatibilité des niveaux de conformité du compilateur, consultez Environnements Java compatibles.
-
Si vous avez installé la mise à jour mensuelle 8.0 R2022-12 du Studio ou une mise à jour plus récente fournie par Talend, cochez la case Allow Jobs to access internal Java fields and methods if required (Autoriser les Jobs à accéder aux champs et méthodes internes Java si nécessaire) pour éviter les erreurs Java liées aux opérations d'accès de réflexion non autorisées et vous assurer que tous les Jobs ont les dépendances Java nécessaires à leur exécution.
Dans la zone Module access settings (Paramètres d'accès au module), les modules Java internes pour les composants Talend, le framework Talend Component Kit et la distribution Big Data sont configuré·es dans l'onglet Default (Par défaut). Vous pouvez configurer les modules Java internes pour vos composants personnalisés et les modules Java internes globaux pour tous·tes les Jobs et Routes dans l'onglet Custom (Personnalisé).
L'option Allow Jobs to access internal Java fields and methods if required (Autoriser les Jobs à accéder aux champs et méthodes internes Java si nécessaire) réduit le nombre d'avertissements et d'erreurs fatales de la JVM survenant lorsque des Jobs sont exécutés avec Java 11 ou Java 17, respectivement.
Exemple d'erreur que vous pouvez obtenir si vous n'ajoutez pas ce paramètre :
Caused by: java.lang.reflect.InaccessibleObjectException: 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 @121f97fb
Lorsqu'elle est activée, les Jobs construits par le Studio Talend auront les paramètres --add-opens dans le fichier de script job.sh ou job.bat, par exemple :
--add-opens=java.base/java.net=ALL-UNNAMED
Les Jobs ainsi construits ne peuvent être exécutés avec Java 8.
- Cliquez sur Apply and Close pour appliquer vos modifications et fermer la boîte de dialogue.