我经历了以下几点:
我已经尝试了以下网址中提到的解决方案:
- https://wiki.sei.cmu.edu/confluence/display/java/FIO07-J.+Do+not+let+external+processes+block+on+IO+buffers
- https://leo3418.github.io/2021/06/20/java-processbuilder-stdout.html
groovy脚本没有按照正确的顺序打印输出。
final String command = "cmd /c mvn -e --no-transfer-progress clean compile -Psome-profile"
ProcessBuilder processBuilder = new ProcessBuilder(command.split())
processBuilder = processBuilder.redirectErrorStream(true)
final Process proc = processBuilder.start()
proc.waitForProcessOutput(System.out, System.err)
输出的顺序不正确:
[WARNING] D:\checkstyle\src\main\java\com\puppycrawl\tools\checkstyle\checks\imports\ImportControlLoader.java:[185,78] [argument] incompatible argument for parameter parent of FileImportControl.
found : @Initialized @Nullable PkgImportControl
[WARNING]
required: @Initialized @NonNull PkgImportControl
而它应该是:
[WARNING] D:\checkstyle\src\main\java\com\puppycrawl\tools\checkstyle\checks\imports\ImportControlLoader.java:[185,78] [argument] incompatible argument for parameter parent of FileImportControl.
found : @Initialized @Nullable PkgImportControl
required: @Initialized @NonNull PkgImportControl
[WARNING]................
Groovy版本:
Groovy Version: 2.5.18 JVM: 11.0.16.1 Vendor: Azul Systems, Inc. OS: Windows 11
**注意:**这个特殊的maven命令需要很长时间来执行,并在最后转储日志(不连续),这是导致上述问题的一个因素,任何帮助都将非常感谢。
更新:
已将groovy版本升级到:
Groovy Version: 4.0.5 JVM: 11.0.16.1 Vendor: Azul Systems, Inc. OS: Windows 11
还是不能正常工作。
1条答案
按热度按时间jv2fixgn1#
尝试使用cmd将标准错误重定向到标准输出: