Accéder au contenu principal Passer au contenu complémentaire

Configurer Java dans le Studio Talend

Si vous avez installé la mise à jour mensuelle 8.0 R2022-12 du Studio Talend ou une mise à jour plus récente fournie par Talend, vous pouvez configurer d'autoriser ou non les Jobs à accéder aux champs et méthodes Java internes dans le Studio Talend.

Procédure

  1. Cliquez sur Project settings dans la barre d'outil de la fenêtre principale du Studio Talend ou cliquez sur File > Edit Project Properties dans le menu, pour ouvrir la boîte de dialogue Project Settings.
  2. Développez le nœud Build et cliquez sur Java Version pour ouvrir la vue correspondante.
    Configuration de Java Version (Version de Java) dans la boîte de dialogue Project Settings (Paramètres du projet).

    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.

  3. Cochez la case Enable Java 17 compatibility (Activer la compatibilité avec Java 17) (à partir de la version R2023-10) ou Allow Jobs to access internal Java fields and methods if required (Permettre aux Jobs d'accéder à des champs et méthodes internes Java si nécessaire) (de la version R2022-12 à la version R2023-08) pour activer la compatibilité avec Java 17 ou pour empêcher les erreurs Java liées aux opérations d'accès de réflexion non autorisées et pour 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
    Le paramètre --add-opens est également ajouté dans la commande Java pour tous les composants tRunJob configurés comme indépendants. Vous devez donc reconstruire tous vos Jobs afin que ces nouveaux paramètres soient passés à la JVM. Sinon, ces paramètres sont manquants et l'exécution des Jobs comprenant les sous-Jobs indépendants échoue.

    Les Jobs ainsi construits ne peuvent être exécutés avec Java 8.

  4. Cliquez sur Apply and Close (Appliquer et fermer) pour appliquer vos modifications et fermer la boîte de dialogue.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.