事象 : Eclipseのログでなんか言われてる
- 環境
- macOS Big Sur バージョン11.0.1
- Eclipse IDE for Enterprise Java Developers. Version: 2020-12 M1 (4.18.0 M1)
- openjdk version "11.0.8"
- Apache Maven 3.6.3
!ENTRY org.eclipse.m2e.logback.appender 2 0 2020-12-22 21:40:38.430
!MESSAGE プラットフォームのエンコーディング (実際は UTF-8) を使用してフィルターされたリソースをコピーします。つまり、ビルドはプラットフォームに依存します!
英語版はこんな感じらしい
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
原因 : ソースの文字コードを指定していないから
これはつまり、文字コードが指定されていないので、プラットフォームの文字コード(WindowsなのでMS932(CP932))を使用していて、プラットフォーム依存のビルドになってしまっています(プラットフォームによって実行されるビルド内容が変わってしまうよ)、という意味です。
Eclipse+Maven:「Using platform encoding (MS932 actually) to copy filtered resources, …」エラーの対策方法
pom.xmlに定義は見当たらない
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
...省略...
<properties>
<!-- Mavenコンパイル用のJavaを定義 -->
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
...省略...
</project>
対応 : 文字コードをpom.xmlのpropertiesに指定する
pom.xml
...省略...
<properties>
<!-- ソースの文字コードを定義 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
...省略...