diff --git a/flink-core/src/test/java/org/apache/flink/core/fs/InitOutputPathTest.java b/flink-core/src/test/java/org/apache/flink/core/fs/InitOutputPathTest.java
index 90011fd..a51b37e 100644
--- a/flink-core/src/test/java/org/apache/flink/core/fs/InitOutputPathTest.java
+++ b/flink-core/src/test/java/org/apache/flink/core/fs/InitOutputPathTest.java
@@ -77,17 +77,8 @@
         runTest(false);
     }
 
-    // Line 82~ Line 191 are copied from
+    // Line 82~ Line 147 are copied from
     // https://github.com/powermock/powermock/blob/release/2.x/powermock-reflect/src/main/java/org/powermock/reflect/internal/WhiteboxImpl.java
-    private static void setField(Object object, Object value, Field foundField) {
-        boolean isStatic = (foundField.getModifiers() & Modifier.STATIC) == Modifier.STATIC;
-        if (isStatic) {
-            setStaticFieldUsingUnsafe(foundField, value);
-        } else {
-            setFieldUsingUnsafe(foundField, object, value);
-        }
-    }
-
     private static void setStaticFieldUsingUnsafe(final Field field, final Object newValue) {
         try {
             field.setAccessible(true);
@@ -123,41 +114,6 @@
         }
     }
 
-    private static void setFieldUsingUnsafe(
-            final Field field, final Object object, final Object newValue) {
-        try {
-            field.setAccessible(true);
-            int fieldModifiersMask = field.getModifiers();
-            boolean isFinalModifierPresent =
-                    (fieldModifiersMask & Modifier.FINAL) == Modifier.FINAL;
-            if (isFinalModifierPresent) {
-                AccessController.doPrivileged(
-                        new PrivilegedAction<Object>() {
-                            @Override
-                            public Object run() {
-                                try {
-                                    Unsafe unsafe = getUnsafe();
-                                    long offset = unsafe.objectFieldOffset(field);
-                                    setFieldUsingUnsafe(
-                                            object, field.getType(), offset, newValue, unsafe);
-                                    return null;
-                                } catch (Throwable t) {
-                                    throw new RuntimeException(t);
-                                }
-                            }
-                        });
-            } else {
-                try {
-                    field.set(object, newValue);
-                } catch (IllegalAccessException ex) {
-                    throw new RuntimeException(ex);
-                }
-            }
-        } catch (SecurityException ex) {
-            throw new RuntimeException(ex);
-        }
-    }
-
     private static Unsafe getUnsafe()
             throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException,
                     SecurityException {
diff --git a/flink-runtime/pom.xml b/flink-runtime/pom.xml
index 204b3cc..91a944d 100644
--- a/flink-runtime/pom.xml
+++ b/flink-runtime/pom.xml
@@ -306,23 +306,10 @@
 		</dependency>
 
 		<dependency>
-			<!-- This must appear before powermock on the classpath! -->
 			<groupId>org.mockito</groupId>
 			<artifactId>mockito-inline</artifactId>
 			<scope>test</scope>
 		</dependency>
-
-		<dependency>
-			<groupId>org.powermock</groupId>
-			<artifactId>powermock-module-junit4</artifactId>
-			<scope>test</scope>
-		</dependency>
-
-		<dependency>
-			<groupId>org.powermock</groupId>
-			<artifactId>powermock-api-mockito2</artifactId>
-			<scope>test</scope>
-		</dependency>
 	</dependencies>
 
 	<build>
diff --git a/flink-test-utils-parent/flink-test-utils-junit/src/main/resources/org/powermock/extensions/configuration.properties b/flink-test-utils-parent/flink-test-utils-junit/src/main/resources/org/powermock/extensions/configuration.properties
deleted file mode 100644
index d2835ca..0000000
--- a/flink-test-utils-parent/flink-test-utils-junit/src/main/resources/org/powermock/extensions/configuration.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-################################################################################
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-# limitations under the License.
-################################################################################
-
-powermock.global-ignore=javax.management.*,com.sun.jndi.*,org.apache.log4j.*,org.apache.logging.log4j.*
diff --git a/pom.xml b/pom.xml
index 476af62..3ca6a6f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -157,7 +157,6 @@
 		<junit5.version>5.10.1</junit5.version>
 		<archunit.version>1.2.0</archunit.version>
 		<mockito.version>3.4.6</mockito.version>
-		<powermock.version>2.0.9</powermock.version>
 		<hamcrest.version>1.3</hamcrest.version>
 		<assertj.version>3.23.1</assertj.version>
 		<py4j.version>0.10.9.7</py4j.version>
@@ -590,14 +589,12 @@
 			</dependency>
 
 			<dependency>
-				<!-- mockito/powermock mismatch -->
 				<groupId>net.bytebuddy</groupId>
 				<artifactId>byte-buddy</artifactId>
 				<version>1.14.4</version>
 			</dependency>
 
 			<dependency>
-				<!-- mockito/powermock mismatch -->
 				<groupId>net.bytebuddy</groupId>
 				<artifactId>byte-buddy-agent</artifactId>
 				<version>1.14.4</version>
@@ -931,27 +928,6 @@
 				<version>${mockito.version}</version>
 				<scope>test</scope>
 			</dependency>
-
-			<dependency>
-				<groupId>org.powermock</groupId>
-				<artifactId>powermock-module-junit4</artifactId>
-				<version>${powermock.version}</version>
-				<scope>test</scope>
-			</dependency>
-
-			<dependency>
-				<groupId>org.powermock</groupId>
-				<artifactId>powermock-api-mockito2</artifactId>
-				<version>${powermock.version}</version>
-				<scope>test</scope>
-				<exclusions>
-					<exclusion>
-						<groupId>org.mockito</groupId>
-						<artifactId>mockito-core</artifactId>
-					</exclusion>
-				</exclusions>
-			</dependency>
-
 		</dependencies>
 	</dependencyManagement>
 
@@ -2265,10 +2241,6 @@
 							<dependency>org.apache.flink:*</dependency>
 							<!-- False positive since we use hamcrest-all -->
 							<dependency>org.hamcrest:hamcrest-core</dependency>
-							<!-- transitive powermock test dependencies; excluded for brevity -->
-							<dependency>org.powermock:powermock-core</dependency>
-							<dependency>org.powermock:powermock-reflect</dependency>
-							<dependency>org.powermock:powermock-api-support</dependency>
 						</ignoredUsedUndeclaredDependencies>
 						<ignoredUnusedDeclaredDependencies combine.children="append">
 							<!-- build dependency, required for shading; does not contain any classes -->
@@ -2292,8 +2264,6 @@
 							<dependency>org.apache.flink:flink-test-utils-junit</dependency>
 							<dependency>junit:junit</dependency>
 							<dependency>org.mockito:mockito-core</dependency>
-							<dependency>org.powermock:powermock-api-mockito2</dependency>
-							<dependency>org.powermock:powermock-module-junit4</dependency>
 							<dependency>org.hamcrest:hamcrest-all</dependency>
 						</ignoredUnusedDeclaredDependencies>
 					</configuration>
diff --git a/tools/maven/suppressions-core.xml b/tools/maven/suppressions-core.xml
index 8fe723c..d87bcba 100644
--- a/tools/maven/suppressions-core.xml
+++ b/tools/maven/suppressions-core.xml
@@ -45,10 +45,6 @@
 	<suppress files="MethodForwardingTestUtil.java|InitOutputPathTest.java|LimitedConnectionsFileSystemDelegationTest.java"
 			  checks="IllegalImport"/>
 
-	<!-- Legacy powermock usages -->
-	<suppress files="InitOutputPathTest.java"
-			  checks="IllegalImport"/>
-
 	<suppress
 		files="(.*)api[/\\]java[/\\]typeutils[/\\]runtime[/\\](.*)"
 		checks="RedundantModifier|JavadocParagraph|JavadocType|JavadocStyle|StaticVariableNameCheck|LocalFinalVariableName|EmptyLineSeparator"/>
diff --git a/tools/maven/suppressions-runtime.xml b/tools/maven/suppressions-runtime.xml
index 0ae0cc3..54ae63f 100644
--- a/tools/maven/suppressions-runtime.xml
+++ b/tools/maven/suppressions-runtime.xml
@@ -39,9 +39,6 @@
 	<suppress files="TumblingProcessingTimeWindowsTest.java|SourceFunctionUtil.java|AbstractStreamOperatorTestHarnessTest.java|SynchronousCheckpointITCase.java|TestSpyWrapperStateBackend.java|InterruptSensitiveRestoreTest.java|TaskCheckpointingBehaviourTest.java|StreamTaskTerminationTest.java|StreamMockEnvironment.java|SlidingProcessingTimeWindowsTest.java|TumblingEventTimeWindowsTest.java|RegularWindowOperatorContractTest.java|WindowOperatorContractTest.java|PurgingTriggerTest.java|GlobalWindowsTest.java|SlidingEventTimeWindowsTest.java|StreamSourceOperatorLatencyMetricsTest.java|StreamElementSerializerTest.java|StateInitializationContextImplTest.java|OperatorSnapshotFuturesTest.java|StateSnapshotContextSynchronousImplTest.java|InternalTimerServiceImplTest.java|StreamTaskStateInitializerImplTest.java|BackendRestorerProcedureTest.java|StreamingRuntimeContextTest.java|OutputFormatSinkFunctionTest.java|BlobCachePutTest.java|CheckpointCoordinatorFailureTest.java|CheckpointCoordinatorMasterHooksTest.java|CheckpointCoordinatorRestoringTest.java|CheckpointCoordinatorTestingUtils.java|CheckpointCoordinatorTest.java|CheckpointMetadataLoadingTest.java|CheckpointSettingsSerializableTest.java|CheckpointStateRestoreTest.java|CheckpointStatsHistoryTest.java|CheckpointStatsSnapshotTest.java|CompletedCheckpointStatsSummaryTest.java|CompletedCheckpointTest.java|FailoverStrategyCheckpointCoordinatorTest.java|MasterHooksTest.java|PendingCheckpointStatsTest.java|PendingCheckpointTest.java|StateObjectCollectionTest.java|TaskStateSnapshotTest.java|FinalizeOnMasterTest.java|HadoopUserUtilsITCase.java|EmbeddedHaServicesTest.java|StandaloneHaServicesTest.java|AsynchronousBufferFileWriterTest.java|AsynchronousFileIOChannelTest.java|AbstractReaderTest.java|CancelPartitionRequestTest.java|ClientTransportErrorHandlingTest.java|CreditBasedPartitionRequestClientHandlerTest.java|PartitionRequestClientFactoryTest.java|ServerTransportErrorHandlingTest.java|NettyShuffleEnvironmentTest.java|InputChannelTest.java|LocalInputChannelTest.java|RemoteInputChannelTest.java|InputChannelTestUtils.java|PipelinedSubpartitionTest.java|BlockingBackChannelTest.java|ZooKeeperJobGraphsStoreITCase.java|ZooKeeperLeaderElectionTest.java|ConnectionUtilsTest.java|DataSinkTaskTest.java|KvStateLocationRegistryTest.java|RetryingRegistrationTest.java|DefaultJobLeaderIdServiceTest.java|FileUploadHandlerITCase.java|AbstractHandlerTest.java|AbstractMetricsHandlerTest.java|JobVertexWatermarksHandlerTest.java|CheckpointStatsCacheTest.java|HadoopModuleTest.java|HadoopDelegationTokenReceiverITCase.java|KerberosLoginProviderITCase.java|CheckpointStateOutputStreamTest.java|FsCheckpointStateOutputStreamTest.java|FsCheckpointStorageAccessTest.java|HeapStateBackendTestBase.java|IncrementalRemoteKeyedStateHandleTest.java|LatencyTrackingStateFactoryTest.java|OperatorStateBackendTest.java|SnapshotResultTest.java|StateBackendLoadingTest.java|StateBackendTestBase.java|StateSnapshotCompressionTest.java|TaskExecutorSubmissionTest.java|TaskManagerServicesBuilder.java|TaskSubmissionTestEnvironment.java|TaskAsyncCallTest.java|TaskManagerLocationTest.java|TaskTest.java|TestTaskBuilder.java|EnvironmentInformationTest.java|LeaderGatewayRetrieverTest.java|ZooKeeperStateHandleStoreTest.java"
 			  checks="IllegalImport"/>
 
-	<!-- Legacy powermock usages -->
-	<suppress files="ConnectionUtilsTest.java"
-			  checks="IllegalImport"/>
 	<suppress
 		files="(.*)test[/\\](.*)runtime[/\\]checkpoint[/\\](.*)"
 		checks="AvoidStarImport|NeedBraces|RedundantModifier|JavadocParagraph|JavadocType|JavadocStyle|MemberNameCheck|LocalFinalVariableName|LocalVariableName|UpperEll|reliefPattern|EmptyStatement|EmptyLineSeparator"/>
