Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources...

原因定位:
原因是:*.properties文件使用了非UTF-8字符。
spring-boot-starter-parent配置的maven-resources-plugin,Spring Boot 默认使用 UTF-8,如前面的提示:

[INFO] Using ‘UTF-8’ encoding to copy filtered resources.
[INFO] Using ‘UTF-8’ encoding to copy filtered properties files.
这是maven-resources-plugin:3.2.0的一个bug,在maven-resources-plugin:3.2.0之前的插件是能够兼容非UTF-8字符。spring boot 2.4升级到maven-resources-plugin:3.2.0,就出现了这个问题。

解决方法:
方法一:把非UTF-8的字符改为UTF-8字符,或者删掉

方法二:在pom文件里降低maven-resources-plugin版本为3.1.0(推荐)

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-resources-plugin</artifactId>
   <version>3.1.0</version>
</plugin>

方法三:排除对含有非UTF-8的资源,包含properties文件过滤

在pom文件添加插件配置:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-resources-plugin</artifactId>
  <version>3.2.0</version>
  <!-- 在此添加被排除过滤的文件 -->
  <configuration>
    <nonFilteredFileExtensions>
      <nonFilteredFileExtension>properties</nonFilteredFileExtension>
    </nonFilteredFileExtensions>
  </configuration>
</plugin>

参考:https://devnote.pro/posts/10000062571250


版权声明:本文为weixin_44838294原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。