Talend StudioでJavaを設定 - Cloud - 8.0

Talend Studioユーザーガイド

Version
Cloud
8.0
Language
日本語
Product
Talend Big Data
Talend Big Data Platform
Talend Cloud
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発
Last publication date
2023-09-21
Talendが提供する8.0 R2022-12以降のStudioマンスリーアップデートをインストール済みである場合は、ジョブをTalend Studioの内部Javaフィールドとメソッドにアクセスさせるかどうか設定できます。

手順

  1. Talend Studioのメインウィンドウのツールバーでをクリックするか、メニューバーで[File] (ファイル) > [Edit Project Properties] (プロジェクトプロパティを編集)とクリックして[Project Settings] (プロジェクト設定)ダイアログボックスを開きます。
  2. Buildノードを展開し、[Java Version] (Javaバージョン)をクリックして、該当するビューを開きます。

    [JDK Compiler compliance level] (JDKコンパイラーのコンプライアンスレベル)ドロップダウンリストで、Talend StudioのJDKコンパイラーのコンプライアンスレベルが1.8であることを確認できます。

    コンパイラーのコンプライアンスレベルは、ジョブコードの生成に使用したJavaバージョンに対応します。コンパイラーのコンプライアンスレベルの互換性については、互換性があるJava環境をご覧ください。

  3. Talendが提供する8.0 R2022-12以降のStudioマンスリーアップデートをインストール済みである場合は、[Allow Jobs to access internal Java fields and methods if required] (必要であればジョブに内部のJavaフィールドとメソッドへのアクセスを許可)チェックボックスを選択すれば、Javaの不正な反射アクセス操作エラーを防ぎ、どのジョブにも実行で必要となるJava依存項目が必ず揃うようにできます。

    [Module access settings] (モジュールアクセスの設定)エリアでは、Talendコンポーネント、Talend Component Kitフレームワーク、Big DataディストリビューションのJava内部モジュールが[Default] (デフォルト)タブに設定されます。[Custom] (カスタム)タブでは、カスタムコンポーネントのJava内部モジュールと、すべてのジョブとルートのグローバルなJava内部モジュールを設定できます。

    [Allow Jobs to access internal Java fields and methods if required] (必要であればジョブに内部のJavaフィールドとメソッドへのアクセスを許可)オプションを選択すれば、ジョブがJava 11またはJava 17でそれぞれ実行された時に発生するJVM警告と致命的エラーの数を削減できます。

    このパラメーターを追加しない場合に発生するエラーの例:

    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

    有効になると、Talend Studioでビルドされたジョブで、job.shまたはjob.batというスクリプトファイルに--add-opensパラメーターが次のように追加されます。

    --add-opens=java.base/java.net=ALL-UNNAMED

    この方法でビルドされたジョブをJava 8で実行することはできません。

  4. [Apply and Close] (適用して閉じる)をクリックして変更を適用し、ダイアログボックスを閉じます。