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

openSUSE Build Service is sponsored by