工程采用GBK编码,

web应用中的配置文件打包后,war包里的配置文件里的中文成乱码。
 
用notepad++打开后,可以看到是用utf-8格式的(可以通过菜单中的【格式】查看),也就是说,在经过maven的war打包插件后,由gbk变成了utf-8。自然乱码了。
插件配置:
<plugin> 
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
 </plugin>
没有设置编码啊。
 
参看maven-war-plugin插件的文档,发现里面有编码相关的设置:
resourceEncoding:
The encoding to use when copying filtered web resources.
  • Typejava.lang.String
  • Since2.3
  • RequiredNo
  • User PropertyresourceEncoding
  • Default${project.build.sourceEncoding}
不过这个一定要在2.3版本以上才有效。而我们在项目中没有设置编码,为什么会如此呢?
看了下pom,发现有如下配置:
<project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
 
而上面的文档中,resourceEncoding 默认取值正好是这个属性: ${project.build.sourceEncoding}
 
解决方式很明显了,把<project.build.sourceEncoding>utf-8</project.build.sourceEncoding>中的utf-8改成gbk就好了。

相关文章:

  • 2021-08-10
  • 2022-12-23
  • 2021-05-22
  • 2021-06-09
  • 2022-01-02
  • 2022-01-09
  • 2021-08-21
  • 2021-08-21
猜你喜欢
  • 2021-11-06
  • 2021-08-15
  • 2021-04-22
  • 2021-09-20
  • 2022-12-23
  • 2021-10-11
  • 2022-12-23
相关资源
相似解决方案