[4.0.x] Fix mvn.cmd jvm.config read failing silently on Windows CI#12379
Merged
Conversation
Replace 'for /f' with 'set /p' + input redirect to read the
JvmConfigParser temp file. 'for /f' silently produces no output
when the file is briefly locked by Windows Defender real-time
scanning, leaving JVM_CONFIG_MAVEN_OPTS empty and causing
MavenITmng4559 tests to fail intermittently on Windows CI runners.
'set /p <file' uses a transient input-redirect open with different
sharing flags, making it far less susceptible to lock contention.
If the file IS locked, it emits a visible error to stderr rather
than failing silently. A single retry with a brief delay is added
as a safety net.
Direct stdout capture ('for /f ... in (`command`)') was tried
previously (343b518) and reverted (7685323) because cmd.exe's
child shell interprets special characters (pipes, ampersands) in
the captured output, breaking jvm.config values like
-Dhttp.nonProxyHosts=de|*.de.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Bukama
approved these changes
Jun 26, 2026
|
@gnodet Please assign appropriate label to PR according to the type of change. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Backport of #12378 to maven-4.0.x.
for /fwithset /p <filewhen reading JvmConfigParser output inmvn.cmdfor /fsilently skips locked files (e.g. Windows Defender real-time scanning), leavingJVM_CONFIG_MAVEN_OPTSempty and causing intermittent MNG-4559 test failures on Windows CI (~30% failure rate)set /puses different file sharing flags and is far less susceptible to lock contentionTest plan
🤖 Generated with Claude Code