Java 17へのTalend Cloudのデプロイ時にビルドが失敗する - 対策法 - Cloud - 8.0

TalendSoftware Development Life Cycleベストプラクティスガイド

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 Administration Center
Talend Artifact Repository
Talend CommandLine
Talend JobServer
Talend Management Console
Talend Remote Engine
Talend Studio
Content
ジョブデザインと開発
デプロイメント
管理と監視
Last publication date
2024-02-16

Java 17に移行した後、アーティファクトをTalend Cloudに公開するためにCIのMavenコマンドを実行すると、次のようなビルドエラーが発生することがあります:

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

これを修正するためには、Mavenスタートアップ設定ファイルに変更をいくつか加える必要があります。

Windowsユーザーの対策法

<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"

変更を保存してビルドを再起動します。

Linuxユーザーの対策法

<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"

変更を保存してビルドを再起動します。

Jenkins用の回避策

JenkinsサーバーでJava 17を使用している場合は、jenkins_pipeline_simple.zipにあるXMLファイルのTALEND_CI_RUN_CONFIG部分を編集し、これらのパラメーターを追加してください。

変更を保存してビルドを再起動します。