メイン コンテンツをスキップする 補完的コンテンツへスキップ

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

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部分を編集し、これらのパラメーターを追加してください。

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

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。