Scheitern der Generierung bei einer Implementierung in Talend Cloud mit Java 17 - Workaround
Wenn nach der Migration zu Java 17 CI Maven-Befehle zur Veröffentlichung von Artefakten in Talend Cloud ausgeführt werden, wird u. U. folgender Typ von Generierungsfehler ausgegeben:
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
Um diesen Fehler zu beheben, müssen Sie ein paar Änderungen an der Konfigurationsdatei für den Maven-Start vornehmen.
Workaround für Windows-Benutzer
Fügen Sie in der Datei <Maven_home>/bin/mvn.cmd folgende Zeile hinzu:
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"
Speichern Sie die vorgenommenen Änderungen und starten Sie die Generierung neu.
Workaround für Linux-Benutzer
Fügen Sie in der Datei <Maven_home>\bin\mvn folgende Zeile hinzu:
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"
Speichern Sie die vorgenommenen Änderungen und starten Sie die Generierung neu.
Workaround für Jenkins
Wenn Sie Java 17 mit einem Jenkins-Server verwenden, bearbeiten Sie den Teil TALEND_CI_RUN_CONFIG der XML-Datei in jenkins_pipeline_simple.zip, um diese Parameter hinzuzufügen.
Speichern Sie die vorgenommenen Änderungen und starten Sie die Generierung neu.