File 0001-Set-Guice-class-loading-to-CHILD-avoid-using-termina.patch of Package maven
From 1f97959a11cc4277d42da08ff581cc061849cea8 Mon Sep 17 00:00:00 2001
From: Slawomir Jaranowski <s.jaranowski@gmail.com>
Date: Fri, 25 Jul 2025 15:33:11 +0200
Subject: [PATCH] Set Guice class loading to CHILD - avoid using terminally
deprecated methods
Default Guice class loading uses a terminally deprecated JDK memory-access classes.
Fix #10312
---
.../src/main/java/org/apache/maven/cli/MavenCli.java | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
index 18451bc43f..c7808b2455 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
@@ -271,6 +271,7 @@ public int doMain(CliRequest cliRequest) {
initialize(cliRequest);
cli(cliRequest);
properties(cliRequest);
+ setupGuiceClassLoading();
logging(cliRequest);
informativeCommands(cliRequest);
version(cliRequest);
@@ -475,6 +476,16 @@ private CommandLine cliMerge(CommandLine mavenConfig, CommandLine mavenCli) {
return commandLineBuilder.build();
}
+ /**
+ * Sets up Guice class loading mode to CHILD, if not already set.
+ * Default Guice class loading mode uses a terminally deprecated JDK memory-access classes.
+ */
+ void setupGuiceClassLoading() {
+ if (System.getProperty("guice_custom_class_loading", "").trim().isEmpty()) {
+ System.setProperty("guice_custom_class_loading", "CHILD");
+ }
+ }
+
/**
* configure logging
*/
--
2.51.1