[FLINK-33506][Connectors/AWS] Add support for jdk17 for AWS connectors (#115)

* [FLINK-33506] Add support for jdk17 for AWS connectors

* Address feedback
diff --git a/.github/workflows/common.yml b/.github/workflows/common.yml
index c0c0bb7..17a580e 100644
--- a/.github/workflows/common.yml
+++ b/.github/workflows/common.yml
@@ -27,6 +27,11 @@
         description: "Flink version to test against."
         required: true
         type: string
+      jdk_version:
+        description: "Jdk version to test against."
+        required: false
+        default: 8, 11
+        type: string
       cache_flink_binary:
         description: "Whether to cache the Flink binary. Should be false for SNAPSHOT URLs, true otherwise."
         required: true
@@ -47,7 +52,7 @@
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        jdk: [ 8, 11 ]
+        jdk: ${{ fromJSON(format('[{0}]', inputs.jdk_version)) }}
     timeout-minutes: ${{ inputs.timeout_global }}
     env:
       MVN_COMMON_OPTIONS: -U -B --no-transfer-progress -Dflink.version=${{ inputs.flink_version }}
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
index b6caa63..95c9ebd 100644
--- a/.github/workflows/nightly.yml
+++ b/.github/workflows/nightly.yml
@@ -26,9 +26,11 @@
     strategy:
       matrix:
         flink: [1.18-SNAPSHOT, 1.19-SNAPSHOT, 1.20-SNAPSHOT]
+        java: [ '8, 11, 17']
     uses: ./.github/workflows/common.yml
     with:
       flink_version: ${{ matrix.flink }}
+      jdk_version: ${{ matrix.java }}
       flink_url: https://s3.amazonaws.com/flink-nightly/flink-${{ matrix.flink }}-bin-scala_2.12.tgz
       cache_flink_binary: false
     secrets: inherit
@@ -40,3 +42,4 @@
     uses: apache/flink-connector-shared-utils/.github/workflows/python_ci.yml@ci_utils
     with:
       flink_version: ${{ matrix.flink }}
+
diff --git a/.github/workflows/push_pr.yml b/.github/workflows/push_pr.yml
index f338190..51c8e96 100644
--- a/.github/workflows/push_pr.yml
+++ b/.github/workflows/push_pr.yml
@@ -27,8 +27,10 @@
     strategy:
       matrix:
         flink: [1.18.1, 1.19.0]
+        java: [ '8, 11, 17']
     with:
       flink_version: ${{ matrix.flink }}
+      jdk_version: ${{ matrix.java }}
       flink_url: https://archive.apache.org/dist/flink/flink-${{ matrix.flink }}/flink-${{ matrix.flink }}-bin-scala_2.12.tgz
       cache_flink_binary: true
     secrets: inherit
diff --git a/flink-connector-aws/flink-connector-dynamodb/pom.xml b/flink-connector-aws/flink-connector-dynamodb/pom.xml
index b4c6715..5e4c21c 100644
--- a/flink-connector-aws/flink-connector-dynamodb/pom.xml
+++ b/flink-connector-aws/flink-connector-dynamodb/pom.xml
@@ -34,6 +34,12 @@
 
     <packaging>jar</packaging>
 
+    <properties>
+        <flink.connector.module.config><!--
+        Required by DynamoDbSinkITCase --> --add-opens=java.base/java.util=ALL-UNNAMED <!--
+        Required by DynamoDbSinkITCase --> --add-opens=java.base/java.lang=ALL-UNNAMED
+        </flink.connector.module.config>
+    </properties>
     <dependencyManagement>
         <dependencies>
             <dependency>
diff --git a/flink-connector-aws/flink-connector-kinesis/pom.xml b/flink-connector-aws/flink-connector-kinesis/pom.xml
index 2ffd448..55dfbe2 100644
--- a/flink-connector-aws/flink-connector-kinesis/pom.xml
+++ b/flink-connector-aws/flink-connector-kinesis/pom.xml
@@ -35,7 +35,18 @@
     <properties>
         <aws.kinesis-kpl.version>0.14.1</aws.kinesis-kpl.version>
         <aws.dynamodbstreams-kinesis-adapter.version>1.5.3</aws.dynamodbstreams-kinesis-adapter.version>
-        <hamcrest.version>1.3</hamcrest.version>
+        <hamcrest.version>2.2</hamcrest.version>
+        <flink.connector.module.config><!--
+        FlinkKinesisConsumerTest --> --add-opens=java.base/java.lang=ALL-UNNAMED <!--
+        FlinkKinesisConsumerTest --> --add-opens=java.base/java.util=ALL-UNNAMED <!--
+        FlinkKinesisConsumerTest --> --add-opens=java.base/java.util.concurrent=ALL-UNNAMED <!--
+        FlinkKinesisConsumerTest --> --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED <!--
+        FlinkKinesisConsumerTest --> --add-opens=java.base/java.lang.reflect=ALL-UNNAMED <!--
+        FlinkKinesisConsumerTest --> --add-opens=java.base/java.time=ALL-UNNAMED <!--
+        AWSUtilTest --> --add-opens=java.base/java.text=ALL-UNNAMED <!--
+        AWSUtilTest --> --add-opens=java.base/java.util.regex=ALL-UNNAMED <!--
+        AWSUtilTest --> --add-opens=java.base/java.net=ALL-UNNAMED <!--
+        KinesisConfigUtilTest --> --add-opens=java.base/java.util.stream=ALL-UNNAMED</flink.connector.module.config>
     </properties>
 
     <packaging>jar</packaging>
@@ -208,7 +219,7 @@
         </dependency>
         <dependency>
             <groupId>org.hamcrest</groupId>
-            <artifactId>hamcrest-all</artifactId>
+            <artifactId>hamcrest</artifactId>
             <version>${hamcrest.version}</version>
             <scope>test</scope>
         </dependency>
diff --git a/pom.xml b/pom.xml
index 7cb9fba..d038831 100644
--- a/pom.xml
+++ b/pom.xml
@@ -65,11 +65,17 @@
         <assertj.version>3.21.0</assertj.version>
         <archunit.version>0.22.0</archunit.version>
         <testcontainers.version>1.17.2</testcontainers.version>
-        <mockito.version>3.4.6</mockito.version>
+        <mockito.version>3.12.4</mockito.version>
         <powermock.version>2.0.9</powermock.version>
         <kotlin.version>1.7.10</kotlin.version>
 
         <flink.parent.artifactId>flink-connector-aws</flink.parent.artifactId>
+        <!-- This property should contain the add-opens/add-exports commands required for the tests
+         in the given connector's module to pass.
+         It MUST be a space-separated list not containing any newlines,
+         of entries in the form '[-]{2}add-[opens|exports]=<module>/<package>=ALL-UNNAMED'.-->
+        <flink.connector.module.config/>
+        <flink.surefire.baseArgLine>-XX:+UseG1GC -Xms256m -XX:+IgnoreUnrecognizedVMOptions ${flink.connector.module.config}</flink.surefire.baseArgLine>
     </properties>
 
     <modules>
@@ -309,12 +315,12 @@
             <dependency>
                 <groupId>net.bytebuddy</groupId>
                 <artifactId>byte-buddy</artifactId>
-                <version>1.10.14</version>
+                <version>1.14.4</version>
             </dependency>
             <dependency>
                 <groupId>net.bytebuddy</groupId>
                 <artifactId>byte-buddy-agent</artifactId>
-                <version>1.10.14</version>
+                <version>1.14.4</version>
             </dependency>
             <dependency>
                 <groupId>junit</groupId>