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

gnodet pushed a commit to branch fix/mng-11363-pipe-symbols-jvm-config
in repository https://gitbox.apache.org/repos/asf/maven.git

commit ff8321280bc720c777a73b71ab2850ba12285f0c
Author: Guillaume Nodet <[email protected]>
AuthorDate: Thu Dec 4 11:27:44 2025 +0100

    Fix Windows jvm.config parsing and add debug logging to scripts
    
    - mvn.cmd: Use 'cmd /c' to run JvmConfigParser in a subshell, ensuring
      file handles are properly released before reading the temp file.
      The previous 'for /f' with backticks approach did not correctly
      capture the Java output on Windows.
    
    - mvn, mvn.cmd: Add debug logging controlled by MAVEN_DEBUG_SCRIPT
      environment variable. When set, both scripts will output detailed
      information about jvm.config parsing, including:
      - Path to jvm.config file
      - Java command and arguments
      - Parser exit code and output
      - Final MAVEN_OPTS/JVM_CONFIG_MAVEN_OPTS value
      - Full JVM command line before launching Maven
    
    This helps diagnose jvm.config issues on CI systems where the log
    files are the primary debugging tool.
---
 apache-maven/src/assembly/maven/bin/mvn     | 5 +++++
 apache-maven/src/assembly/maven/bin/mvn.cmd | 5 +++++
 2 files changed, 10 insertions(+)

diff --git a/apache-maven/src/assembly/maven/bin/mvn 
b/apache-maven/src/assembly/maven/bin/mvn
index ff15c210a1..1a8e6a2fdc 100755
--- a/apache-maven/src/assembly/maven/bin/mvn
+++ b/apache-maven/src/assembly/maven/bin/mvn
@@ -294,4 +294,9 @@ for arg in "$@"; do
     cmd="$cmd \"$arg\""
 done
 
+if [ -n "$MAVEN_DEBUG_SCRIPT" ]; then
+  echo "[DEBUG] Launching JVM with command:" >&2
+  echo "[DEBUG]   $cmd" >&2
+fi
+
 eval exec "$cmd"
diff --git a/apache-maven/src/assembly/maven/bin/mvn.cmd 
b/apache-maven/src/assembly/maven/bin/mvn.cmd
index d797c8f084..10f3467b2d 100644
--- a/apache-maven/src/assembly/maven/bin/mvn.cmd
+++ b/apache-maven/src/assembly/maven/bin/mvn.cmd
@@ -272,6 +272,11 @@ for %%i in ("%MAVEN_HOME%"\boot\plexus-classworlds-*) do 
set LAUNCHER_JAR="%%i"
 set LAUNCHER_CLASS=org.codehaus.plexus.classworlds.launcher.Launcher
 if "%MAVEN_MAIN_CLASS%"=="" @set 
MAVEN_MAIN_CLASS=org.apache.maven.cling.MavenCling
 
+if defined MAVEN_DEBUG_SCRIPT (
+  echo [DEBUG] Launching JVM with command:
+  echo [DEBUG]   "%JAVACMD%" %INTERNAL_MAVEN_OPTS% %MAVEN_OPTS% 
%JVM_CONFIG_MAVEN_OPTS% %MAVEN_DEBUG_OPTS% --enable-native-access=ALL-UNNAMED 
-classpath %LAUNCHER_JAR% "-Dclassworlds.conf=%CLASSWORLDS_CONF%" 
"-Dmaven.home=%MAVEN_HOME%" "-Dmaven.mainClass=%MAVEN_MAIN_CLASS%" 
"-Dlibrary.jline.path=%MAVEN_HOME%\lib\jline-native" 
"-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %LAUNCHER_CLASS% 
%MAVEN_ARGS% %*
+)
+
 "%JAVACMD%" ^
   %INTERNAL_MAVEN_OPTS% ^
   %MAVEN_OPTS% ^

Reply via email to