дзеркало
https://github.com/l0ng-ai/openidea.git
синхронізовано 2026-11-09 11:15:40 +02:00
* fix(run): give the spring-boot:run fork a UTF-8 default charset on Windows On Windows, mvn spring-boot:run passes the stdout/stderr encoding properties to the forked application JVM through JAVA_TOOL_OPTIONS, but not file.encoding (it would change how Maven reads sources). On JDK 8-17, logback / log4j2 console appenders encode with the default charset (GBK on Chinese Windows) and ignore stdout.encoding, so Chinese log lines showed as U+FFFD in the UTF-8 Run console. For a Maven launch with a spring-boot:run goal and a UTF-8 console, add -Dfile.encoding=UTF-8 to -Dspring-boot.run.jvmArguments, merged into the user's VM options. It reaches only the forked JVM; Maven's own JVM is unchanged. A file.encoding the user set (in jvmArguments or JAVA_TOOL_OPTIONS) wins. Fixes #697 * fix(run): give Gradle JavaExec forks a UTF-8 default charset on Windows Applications started by Gradle (bootRun, run, custom JavaExec tasks) kept the ANSI default charset (GBK on Chinese Windows, JDK 8-17) while the Run console decodes UTF-8. Code that converts text with the default charset then breaks: Nacos config with Chinese text fails to parse (MalformedInputException) and logback/log4j2 console output is garbled. For a UTF-8 console on Windows, a Gradle launch now gets an init script that adds -Dfile.encoding=UTF-8 to each JavaExec task when it runs, unless the task or JAVA_TOOL_OPTIONS already sets file.encoding. Gradle's own JVM and compiler source encoding are unchanged. Maven and Gradle are told apart so the spring-boot:run rewrite only applies to Maven. * fix(run): set Gradle charset before build task configuration --------- Co-authored-by: DPhngNam <[email protected]>