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]
