我在使用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,避免源码与构建编码不一致导致中文乱码。