
Java 18 からJEP 400: UTF-8 by Defaultにより、デフォルトのエンコーディングが UTF-8 に統一されたため、Windows 環境での文字化けが頻出する。
以下のような gradlew.ps1 を用意して、UTF-8 に統一しておくと良い。
$ENV:JAVA_TOOL_OPTIONS = '-Dstdout.encoding=UTF-8 -Dstderr.encoding=UTF-8' $batPath = Join-Path $PSScriptRoot "gradlew.bat" cmd.exe /c "chcp 65001 > nul & `"$batPath`" $args"
以下のように実行できる
./gradlew build
PowerShell から gradlew.bat 経由で実行する場合は以下のようにできる(PowerShell から chcp しても gradlew.bat 側には引き継がれないので、cmd 側で行う必要がある)。
$ENV:JAVA_TOOL_OPTIONS = '-Dstdout.encoding=UTF-8 -Dstderr.encoding=UTF-8' ./gradlew --stop cmd.exe /c "chcp 65001 > nul & .\gradlew clean run"
コマンドプロンプトから gradlew.bat 経由で実行する場合は以下のようにできる。
set JAVA_TOOL_OPTIONS=-Dstdout.encoding=UTF-8 -Dstderr.encoding=UTF-8 chcp 65001 gradlew --stop gradlew clean run