This is an automated email from the ASF dual-hosted git repository.

leonard pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink-cdc.git


The following commit(s) were added to refs/heads/master by this push:
     new 1da0567e5 [FLINK-38730][build] Bump default JDK version from 8 to 11 
and support optional JDK17
1da0567e5 is described below

commit 1da0567e5a2f20aa64c28de00948625b87b0866a
Author: Kunni <[email protected]>
AuthorDate: Fri Dec 26 20:14:21 2025 +0800

    [FLINK-38730][build] Bump default JDK version from 8 to 11 and support 
optional JDK17
    
    This closes #4187.
---
 .github/workflows/flink_cdc_base.yml               |   2 +-
 .github/workflows/flink_cdc_ci.yml                 |  12 +--
 .github/workflows/flink_cdc_ci_nightly.yml         |  12 +--
 .../flink-cdc-pipeline-connector-hudi/pom.xml      |   1 -
 .../cdc/connectors/hudi/sink/HudiSinkITCase.java   |   5 +-
 .../json/canal/CanalJsonSerializationSchema.java   |   5 +-
 .../flink-cdc-pipeline-connector-paimon/pom.xml    |   2 +-
 .../connectors/paimon/sink/v2/PaimonWriter.java    |   9 +-
 .../io/debezium/connector/db2/Db2Connection.java   |   3 +-
 .../tests/utils/PipelineTestEnvironment.java       |   8 +-
 .../flink-cdc-source-e2e-tests/pom.xml             |   2 +-
 .../tests/utils/FlinkContainerTestEnvironment.java |   5 +-
 pom.xml                                            | 105 +++++++++++++++++++--
 13 files changed, 135 insertions(+), 36 deletions(-)

diff --git a/.github/workflows/flink_cdc_base.yml 
b/.github/workflows/flink_cdc_base.yml
index 487712b09..3cbcd8ac5 100644
--- a/.github/workflows/flink_cdc_base.yml
+++ b/.github/workflows/flink_cdc_base.yml
@@ -22,7 +22,7 @@ on:
         description: "Jdk versions to test against."
         required: false
         type: string
-        default: "['8']"
+        default: "['11']"
       flink-versions:
         description: "Flink versions to test against."
         required: false
diff --git a/.github/workflows/flink_cdc_ci.yml 
b/.github/workflows/flink_cdc_ci.yml
index ea9968f52..92f6a3e4f 100644
--- a/.github/workflows/flink_cdc_ci.yml
+++ b/.github/workflows/flink_cdc_ci.yml
@@ -50,7 +50,7 @@ jobs:
       - name: Set JDK
         uses: actions/setup-java@v4
         with:
-          java-version: '8'
+          java-version: '11'
           distribution: 'temurin'
           cache: 'maven'
       - name: Compiling jar packages
@@ -61,19 +61,19 @@ jobs:
     name: Common Unit Tests
     uses: ./.github/workflows/flink_cdc_base.yml
     with:
-      java-versions: "[8]"
+      java-versions: "[11]"
       modules: "['core']"
   pipeline-ut:
     name: Pipeline Unit Tests
     uses: ./.github/workflows/flink_cdc_base.yml
     with:
-      java-versions: "[8]"
+      java-versions: "[11]"
       modules: "['mysql-pipeline', 'postgres-pipeline', 'oceanbase-pipeline', 
'doris', 'elasticsearch', 'iceberg', 'kafka', 'maxcompute', 'paimon', 
'starrocks', 'fluss', 'hudi']"
   source-ut:
     name: Source Unit Tests
     uses: ./.github/workflows/flink_cdc_base.yml
     with:
-      java-versions: "[8]"
+      java-versions: "[11]"
       modules: "['mysql-source', 'postgres-source', 'oracle', 'mongodb7', 
'mongodb8', 'sqlserver', 'tidb', 'oceanbase-source', 'db2', 'vitess']"
   pipeline_e2e:
     strategy:
@@ -83,7 +83,7 @@ jobs:
     name: Pipeline E2E Tests (${{ matrix.parallelism }}-Parallelism)
     uses: ./.github/workflows/flink_cdc_base.yml
     with:
-      java-versions: "[8]"
+      java-versions: "[11]"
       flink-versions: "['1.19.3', '1.20.3']"
       modules: "['pipeline_e2e']"
       parallelism: ${{ matrix.parallelism }}
@@ -91,6 +91,6 @@ jobs:
     name: Source E2E Tests
     uses: ./.github/workflows/flink_cdc_base.yml
     with:
-      java-versions: "[8]"
+      java-versions: "[11]"
       flink-versions: "['1.19.3', '1.20.3']"
       modules: "['source_e2e']"
diff --git a/.github/workflows/flink_cdc_ci_nightly.yml 
b/.github/workflows/flink_cdc_ci_nightly.yml
index 2a0ddb549..3a3969543 100644
--- a/.github/workflows/flink_cdc_ci_nightly.yml
+++ b/.github/workflows/flink_cdc_ci_nightly.yml
@@ -40,7 +40,7 @@ jobs:
       - name: Set JDK
         uses: actions/setup-java@v4
         with:
-          java-version: '11'
+          java-version: '17'
           distribution: 'temurin'
           cache: 'maven'
       - name: Compiling jar packages
@@ -52,21 +52,21 @@ jobs:
     name: Common Unit Tests
     uses: ./.github/workflows/flink_cdc_base.yml
     with:
-      java-versions: "[11]"
+      java-versions: "[17]"
       modules: "['core']"
   pipeline-ut:
     if: github.repository == 'apache/flink-cdc'
     name: Pipeline Unit Tests
     uses: ./.github/workflows/flink_cdc_base.yml
     with:
-      java-versions: "[11]"
+      java-versions: "[17]"
       modules: "['mysql-pipeline', 'postgres-pipeline', 'oceanbase-pipeline', 
'doris', 'elasticsearch', 'iceberg', 'kafka', 'maxcompute', 'paimon', 
'starrocks', 'fluss', 'hudi']"
   source-ut:
     if: github.repository == 'apache/flink-cdc'
     name: Source Unit Tests
     uses: ./.github/workflows/flink_cdc_base.yml
     with:
-      java-versions: "[11]"
+      java-versions: "[17]"
       modules: "['mysql-source', 'postgres-source', 'oracle', 'mongodb7', 
'mongodb8', 'sqlserver', 'tidb', 'oceanbase-source', 'db2', 'vitess']"
   pipeline_e2e:
     if: github.repository == 'apache/flink-cdc'
@@ -77,7 +77,7 @@ jobs:
     name: Pipeline E2E Tests (${{ matrix.parallelism }}-Parallelism)
     uses: ./.github/workflows/flink_cdc_base.yml
     with:
-      java-versions: "[11]"
+      java-versions: "[17]"
       flink-versions: "['1.19.3', '1.20.3']"
       modules: "['pipeline_e2e']"
       parallelism: ${{ matrix.parallelism }}
@@ -86,6 +86,6 @@ jobs:
     name: Source E2E Tests
     uses: ./.github/workflows/flink_cdc_base.yml
     with:
-      java-versions: "[11]"
+      java-versions: "[17]"
       flink-versions: "['1.19.3', '1.20.3']"
       modules: "['source_e2e']"
diff --git 
a/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-hudi/pom.xml
 
b/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-hudi/pom.xml
index d3455461a..12becac45 100644
--- 
a/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-hudi/pom.xml
+++ 
b/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-hudi/pom.xml
@@ -265,7 +265,6 @@ limitations under the License.
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-shade-plugin</artifactId>
-                <version>3.2.4</version>
                 <executions>
                     <execution>
                         <phase>package</phase>
diff --git 
a/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-hudi/src/test/java/org/apache/flink/cdc/connectors/hudi/sink/HudiSinkITCase.java
 
b/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-hudi/src/test/java/org/apache/flink/cdc/connectors/hudi/sink/HudiSinkITCase.java
index 883e60876..ccdcf3674 100644
--- 
a/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-hudi/src/test/java/org/apache/flink/cdc/connectors/hudi/sink/HudiSinkITCase.java
+++ 
b/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-hudi/src/test/java/org/apache/flink/cdc/connectors/hudi/sink/HudiSinkITCase.java
@@ -402,7 +402,10 @@ public class HudiSinkITCase {
                         .orElse(null);
 
         List<FileSlice> fileSlices =
-                
table.getSliceView().getAllLatestFileSlicesBeforeOrOn(latestInstant).values()
+                table
+                        .getSliceView()
+                        .getAllLatestFileSlicesBeforeOrOn(latestInstant)
+                        .values()
                         .stream()
                         .flatMap(s -> s)
                         .collect(Collectors.toList());
diff --git 
a/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-kafka/src/main/java/org/apache/flink/cdc/connectors/kafka/json/canal/CanalJsonSerializationSchema.java
 
b/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-kafka/src/main/java/org/apache/flink/cdc/connectors/kafka/json/canal/CanalJsonSerializationSchema.java
index 78eefc4ea..c95b310e9 100644
--- 
a/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-kafka/src/main/java/org/apache/flink/cdc/connectors/kafka/json/canal/CanalJsonSerializationSchema.java
+++ 
b/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-kafka/src/main/java/org/apache/flink/cdc/connectors/kafka/json/canal/CanalJsonSerializationSchema.java
@@ -146,7 +146,10 @@ public class CanalJsonSerializationSchema implements 
SerializationSchema<Event>
         reuseGenericRowData.setField(
                 5,
                 new GenericArrayData(
-                        
jsonSerializers.get(dataChangeEvent.tableId()).getSchema().primaryKeys()
+                        jsonSerializers
+                                .get(dataChangeEvent.tableId())
+                                .getSchema()
+                                .primaryKeys()
                                 .stream()
                                 .map(StringData::fromString)
                                 .toArray()));
diff --git 
a/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-paimon/pom.xml
 
b/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-paimon/pom.xml
index 5ab00cf54..274129b0c 100644
--- 
a/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-paimon/pom.xml
+++ 
b/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-paimon/pom.xml
@@ -32,7 +32,7 @@ limitations under the License.
         <paimon.version>1.3.1</paimon.version>
         <hadoop.version>2.8.5</hadoop.version>
         <hive.version>2.3.9</hive.version>
-        <mockito.version>3.4.6</mockito.version>
+        <mockito.version>3.12.4</mockito.version>
     </properties>
 
     <dependencies>
diff --git 
a/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-paimon/src/main/java/org/apache/flink/cdc/connectors/paimon/sink/v2/PaimonWriter.java
 
b/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-paimon/src/main/java/org/apache/flink/cdc/connectors/paimon/sink/v2/PaimonWriter.java
index e5821135d..0b09a560a 100644
--- 
a/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-paimon/src/main/java/org/apache/flink/cdc/connectors/paimon/sink/v2/PaimonWriter.java
+++ 
b/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-paimon/src/main/java/org/apache/flink/cdc/connectors/paimon/sink/v2/PaimonWriter.java
@@ -109,16 +109,17 @@ public class PaimonWriter<InputT>
     public Collection<MultiTableCommittable> prepareCommit() {
         long startTime = System.currentTimeMillis();
         List<MultiTableCommittable> committables =
-                writes.entrySet()
-                        .parallelStream()
+                writes.entrySet().parallelStream()
                         .flatMap(
                                 entry -> {
                                     try {
                                         // here we set it to 
lastCheckpointId+1 to
                                         // avoid prepareCommit the same 
checkpointId with the first
                                         // round.
-                                        return entry.getValue()
-                                                .prepareCommit(false, 
lastCheckpointId + 1).stream()
+                                        return entry
+                                                .getValue()
+                                                .prepareCommit(false, 
lastCheckpointId + 1)
+                                                .stream()
                                                 .map(
                                                         committable ->
                                                                 
MultiTableCommittable
diff --git 
a/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-db2-cdc/src/main/java/io/debezium/connector/db2/Db2Connection.java
 
b/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-db2-cdc/src/main/java/io/debezium/connector/db2/Db2Connection.java
index 616fd7c95..8fe77ede9 100644
--- 
a/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-db2-cdc/src/main/java/io/debezium/connector/db2/Db2Connection.java
+++ 
b/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-db2-cdc/src/main/java/io/debezium/connector/db2/Db2Connection.java
@@ -399,7 +399,8 @@ public class Db2Connection extends JdbcConnection {
         // final List<Column> columns = 
columnEditors.subList(CHANGE_TABLE_DATA_COLUMN_OFFSET,
         // columnEditors.size() - 1).stream()
         final List<Column> columns =
-                columnEditors.subList(CHANGE_TABLE_DATA_COLUMN_OFFSET, 
columnEditors.size())
+                columnEditors
+                        .subList(CHANGE_TABLE_DATA_COLUMN_OFFSET, 
columnEditors.size())
                         .stream()
                         .map(
                                 c ->
diff --git 
a/flink-cdc-e2e-tests/flink-cdc-pipeline-e2e-tests/src/test/java/org/apache/flink/cdc/pipeline/tests/utils/PipelineTestEnvironment.java
 
b/flink-cdc-e2e-tests/flink-cdc-pipeline-e2e-tests/src/test/java/org/apache/flink/cdc/pipeline/tests/utils/PipelineTestEnvironment.java
index e2b4f6fb3..641180580 100644
--- 
a/flink-cdc-e2e-tests/flink-cdc-pipeline-e2e-tests/src/test/java/org/apache/flink/cdc/pipeline/tests/utils/PipelineTestEnvironment.java
+++ 
b/flink-cdc-e2e-tests/flink-cdc-pipeline-e2e-tests/src/test/java/org/apache/flink/cdc/pipeline/tests/utils/PipelineTestEnvironment.java
@@ -137,9 +137,10 @@ public abstract class PipelineTestEnvironment extends 
TestLogger {
                     "parallelism.default: 4",
                     "execution.checkpointing.interval: 300",
                     "state.backend.type: hashmap",
-                    "env.java.opts.all: -Doracle.jdbc.timezoneAsRegion=false",
+                    "env.java.default-opts.all: 
--add-exports=java.base/sun.net.util=ALL-UNNAMED 
--add-exports=java.rmi/sun.rmi.registry=ALL-UNNAMED 
--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED 
--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED 
--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED 
--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED 
--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED 
--add-exports=java.sec [...]
                     "execution.checkpointing.savepoint-dir: file:///opt/flink",
                     "restart-strategy.type: off",
+                    "pekko.ask.timeout: 60s",
                     // Set off-heap memory explicitly to avoid 
"java.lang.OutOfMemoryError: Direct
                     // buffer memory" error.
                     "taskmanager.memory.task.off-heap.size: 128mb",
@@ -403,7 +404,10 @@ public abstract class PipelineTestEnvironment extends 
TestLogger {
     }
 
     protected String getFlinkDockerImageTag() {
-        return String.format("flink:%s-scala_2.12", flinkVersion);
+        if (System.getProperty("java.specification.version").equals("17")) {
+            return String.format("flink:%s-scala_2.12-java17", flinkVersion);
+        }
+        return String.format("flink:%s-scala_2.12-java11", flinkVersion);
     }
 
     private ExecResult executeAndCheck(GenericContainer<?> container, 
String... command) {
diff --git a/flink-cdc-e2e-tests/flink-cdc-source-e2e-tests/pom.xml 
b/flink-cdc-e2e-tests/flink-cdc-source-e2e-tests/pom.xml
index 57385cc12..c8dd5df6e 100644
--- a/flink-cdc-e2e-tests/flink-cdc-source-e2e-tests/pom.xml
+++ b/flink-cdc-e2e-tests/flink-cdc-source-e2e-tests/pom.xml
@@ -212,7 +212,7 @@ limitations under the License.
                 <executions>
                     <execution>
                         <id>copy-jars</id>
-                        <phase>process-resources</phase>
+                        <phase>package</phase>
                         <goals>
                             <goal>copy</goal>
                         </goals>
diff --git 
a/flink-cdc-e2e-tests/flink-cdc-source-e2e-tests/src/test/java/org/apache/flink/cdc/connectors/tests/utils/FlinkContainerTestEnvironment.java
 
b/flink-cdc-e2e-tests/flink-cdc-source-e2e-tests/src/test/java/org/apache/flink/cdc/connectors/tests/utils/FlinkContainerTestEnvironment.java
index 095c5c23b..96173989c 100644
--- 
a/flink-cdc-e2e-tests/flink-cdc-source-e2e-tests/src/test/java/org/apache/flink/cdc/connectors/tests/utils/FlinkContainerTestEnvironment.java
+++ 
b/flink-cdc-e2e-tests/flink-cdc-source-e2e-tests/src/test/java/org/apache/flink/cdc/connectors/tests/utils/FlinkContainerTestEnvironment.java
@@ -308,7 +308,10 @@ public abstract class FlinkContainerTestEnvironment 
extends TestLogger {
     }
 
     private String getFlinkDockerImageTag() {
-        return String.format("flink:%s-scala_2.12", flinkVersion);
+        if (System.getProperty("java.specification.version").equals("17")) {
+            return String.format("flink:%s-scala_2.12-java17", flinkVersion);
+        }
+        return String.format("flink:%s-scala_2.12-java11", flinkVersion);
     }
 
     protected String getJdbcConnectorResourceName() {
diff --git a/pom.xml b/pom.xml
index 6a7d5eac3..8f556aa0a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -78,7 +78,7 @@ limitations under the License.
         <version.awaitility>4.2.0</version.awaitility>
         <slf4j.version>1.7.36</slf4j.version>
         <log4j.version>2.17.1</log4j.version>
-        <spotless.version>2.4.2</spotless.version>
+        <spotless.version>2.43.0</spotless.version>
         <commons-lang3.version>3.12.0</commons-lang3.version>
         <json-path.version>2.7.0</json-path.version>
         <jackson.version>2.13.2</jackson.version>
@@ -98,6 +98,14 @@ limitations under the License.
         <iceberg.version>1.6.1</iceberg.version>
         <hive.version>2.3.9</hive.version>
         <hadoop.version>3.3.4</hadoop.version>
+        <java.version>11</java.version>
+        <source.java.version>11</source.java.version>
+        <target.java.version>11</target.java.version>
+        <!-- Overwrite default values from parent pom.
+             IntelliJ IDEA is (sometimes?) using those values to choose target 
language level
+             and thus is changing back to java 1.6 on each maven re-import -->
+        <maven.compiler.source>${source.java.version}</maven.compiler.source>
+        <maven.compiler.target>${target.java.version}</maven.compiler.target>
     </properties>
 
     <dependencyManagement>
@@ -465,7 +473,7 @@ limitations under the License.
                 <configuration>
                     <java>
                         <googleJavaFormat>
-                            <version>1.7</version>
+                            <version>1.8</version>
                             <style>AOSP</style>
                         </googleJavaFormat>
 
@@ -561,6 +569,15 @@ limitations under the License.
                          does not understand some time zone which used in 
Ubuntu OS -->
                     <argLine>-Xms256m -Xmx2048m 
-Dmvn.forkNumber=${surefire.forkNumber}
                         -XX:+UseG1GC -Doracle.jdbc.timezoneAsRegion=false
+                        --add-opens=java.base/java.lang=ALL-UNNAMED
+                        --add-opens=java.base/java.lang.reflect=ALL-UNNAMED
+                        --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
+                        --add-opens=java.base/java.util=ALL-UNNAMED
+                        --add-opens=java.sql/java.sql=ALL-UNNAMED
+                        --add-opens=java.base/java.nio=ALL-UNNAMED
+                        
--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED
+                        --add-opens java.base/java.net=ALL-UNNAMED
+                        --add-exports=java.base/sun.nio.ch=ALL-UNNAMED
                     </argLine>
                 </configuration>
             </plugin>
@@ -674,8 +691,8 @@ limitations under the License.
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <configuration>
-                    <source>${maven.compiler.source}</source>
-                    <target>${maven.compiler.target}</target>
+                    <source>${source.java.version}</source>
+                    <target>${target.java.version}</target>
                 </configuration>
             </plugin>
 
@@ -688,6 +705,29 @@ limitations under the License.
                     <generateBackupPoms>false</generateBackupPoms>
                 </configuration>
             </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-enforcer-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>enforce-maven</id>
+                        <goals>
+                            <goal>enforce</goal>
+                        </goals>
+                        <configuration>
+                            <rules>
+                                <requireMavenVersion>
+                                    <!-- enforce at least mvn version 3.1.1 
(see FLINK-12447) -->
+                                    <version>[3.1.1,)</version>
+                                </requireMavenVersion>
+                                <requireJavaVersion>
+                                    <version>${source.java.version}</version>
+                                </requireJavaVersion>
+                            </rules>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
         </plugins>
     </build>
 
@@ -774,26 +814,71 @@ limitations under the License.
             </build>
         </profile>
         <profile>
-            <id>java-8-target</id>
+            <id>java-11-target</id>
             <activation>
-                <jdk>[1.8,11)</jdk>
+                <jdk>[11,17)</jdk>
             </activation>
             <properties>
-                <java.version>1.8</java.version>
+                <java.version>11</java.version>
                 <maven.compiler.source>${java.version}</maven.compiler.source>
                 <maven.compiler.target>${java.version}</maven.compiler.target>
             </properties>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-compiler-plugin</artifactId>
+                        <configuration>
+                            <source>11</source>
+                            <target>11</target>
+                            <compilerArgs combine.children="append">
+                                
<arg>--add-exports=java.base/sun.net.util=ALL-UNNAMED</arg>
+                                
<arg>--add-exports=java.management/sun.management=ALL-UNNAMED</arg>
+                                
<arg>--add-exports=java.rmi/sun.rmi.registry=ALL-UNNAMED</arg>
+                                
<arg>--add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED</arg>
+                            </compilerArgs>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
         </profile>
         <profile>
-            <id>java-11-target</id>
+            <id>java-17-target</id>
             <activation>
-                <jdk>[11,)</jdk>
+                <jdk>[17,)</jdk>
             </activation>
             <properties>
-                <java.version>11</java.version>
+                <java.version>17</java.version>
                 <maven.compiler.source>${java.version}</maven.compiler.source>
                 <maven.compiler.target>${java.version}</maven.compiler.target>
             </properties>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-compiler-plugin</artifactId>
+                        <configuration>
+                            <source>17</source>
+                            <target>17</target>
+                            <compilerArgs combine.children="append">
+                                
<arg>--add-exports=java.base/sun.net.util=ALL-UNNAMED</arg>
+                                
<arg>--add-exports=java.management/sun.management=ALL-UNNAMED</arg>
+                                
<arg>--add-exports=java.rmi/sun.rmi.registry=ALL-UNNAMED</arg>
+                                
<arg>--add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED</arg>
+                                
<arg>--add-exports=java.base/java.util=ALL-UNNAMED</arg>
+                                <arg>--add-opens</arg>
+                                <arg>java.base/java.lang=ALL-UNNAMED</arg>
+                                <arg>--add-opens</arg>
+                                
<arg>java.base/java.lang.reflect=ALL-UNNAMED</arg>
+                                <arg>--add-opens</arg>
+                                
<arg>java.base/java.util.concurrent=ALL-UNNAMED</arg>
+                                <arg>--add-opens</arg>
+                                <arg>java.base/java.util=ALL-UNNAMED</arg>
+                            </compilerArgs>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
         </profile>
     </profiles>
 </project>

Reply via email to