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
2024-04-16
Talendが提供する8.0 R2022-12以降のTalend Studioマンスリーアップデートをインストール済みである場合は、ジョブをTalend Studioの内部Javaフィールドとメソッドにアクセスさせるかどうか設定できます。

手順

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

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

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

  3. R2023-10 以降の場合[Enable Java 17 compatibility] (Java 17互換性を有効にする)を選択するか、R2022-12 から R2023-08の場合[Allow Jobs to access internal Java fields and methods if required] (必要に応じてジョブが内部Javaフィールドおよびメソッドにアクセスできるようにする)チェックボックスを選択して、Java 17の互換性を有効にするか、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
    --add-opensパラメーターはまた、独立したものとして設定されているすべてのtRunJobに対してJavaコマンドで追加されます。その結果、これらの新しいパラメーターがJVMに渡されるよう、ジョブをすべて再ビルドする必要があります。再ビルドしないと、これらのパラメーターは欠落し、独立したサブジョブが含まれているジョブは実行時に失敗します。

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

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