Mavenでビルドした時に発生したエラー④文字化け
MavenからJUnitを実行した時に発生した文字化けについて。
環境
- Spring Boot: 2.3.3.RELEASE
- STS4: 4.3.2.RELEASE
- Maven: 3.6.1
エラー内容
実行前にテストデータの登録が必要なテストケースで、テストデータを投入する際に文字化けが発生してしまい、登録できない問題が発生しました。
この際用意したSQLファイルはUTF-8で作成してあり、データベースで使用するエンコードも同じくUTF-8です。
解決方法
Mavenのプラグイン (maven-surefire-plugin)のコマンドライン引数にエンコーディングを指定します。
具体的には、pom.xmlに下記のように指定します。
<!-- 省略 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- 以下追加 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>-Dfile.encoding=UTF-8</argLine>
</configuration>
</plugin>
</plugins>
</build>