我在使用IDEA2020.2编辑一个Java Web项目时遇到如下提示:Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!

这个提示在所有的 Java IDE中很常见,是文件的编码没有显式的指明,所以就报这个错误。解决办法也很简单,一般只需要指定相应的编码就可以了,例如UTF-8。

在项目文件pom.xml中的<properties>节添加如下配置:

 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

添加好后再试一下重新编译,现在不再有这个预警提示了。

原因说明

Maven 的 resource 插件在复制资源时使用了平台默认编码,构建结果会随操作系统而变,因此给出该警告。

解决办法

在 pom.xml 的 properties 中显式指定编码:

  • <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  • <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

同时确认 IDEA 的 File Encoding 设为 UTF-8,避免源码与构建编码不一致导致中文乱码。

相关阅读