gnodet opened a new pull request, #12339:
URL: https://github.com/apache/maven/pull/12339

   ## Summary
   
   - Set `org.jline.terminal.exec.redirectPipeCreationMode=native` in both 
`mvn` and `mvn.cmd` launcher scripts to prevent JLine's `ExecTerminalProvider` 
from using reflection to access `ProcessBuilder$RedirectPipeImpl`
   - This avoids the "WARNING: Illegal reflective access" messages on JDK 9-15 
when stdout is redirected (e.g. `mvn -v | cat` or `mvn -v > file.txt`)
   
   The property is a JLine 3.x configuration knob (see 
[jline/jline3#951](https://github.com/jline/jline3/issues/951)) that switches 
pipe creation from reflection-based to native (JNI), which is already available 
since Maven ships `jline-terminal-jni` and sets `-Dlibrary.jline.path`.
   
   Fixes #12167
   
   ## Test plan
   
   - [ ] On JDK 11, verify `mvn -v | cat` no longer prints the "Illegal 
reflective access" warning
   - [ ] On JDK 8, verify `mvn -v` still works (property is harmless — exec 
provider falls back)
   - [ ] On JDK 17+, verify no regressions
   
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   
   _Claude Code on behalf of Guillaume Nodet_


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to