关于 maven 项目打包 乱码问题

妖狐艹你老母 2022-06-07 08:40 297阅读 0赞

#才疏学浅, 不当之处, 还望见谅

今天, 在下遇到了一个很奇怪的问题, 服务器的编码是UTF_8, 查询代码

  1. $ locale
  2. LANG=en_US.UTF-8
  3. LC_CTYPE="en_US.UTF-8"
  4. LC_NUMERIC="en_US.UTF-8"
  5. LC_TIME="en_US.UTF-8"
  6. LC_COLLATE="en_US.UTF-8"
  7. LC_MONETARY="en_US.UTF-8"
  8. LC_MESSAGES="en_US.UTF-8"
  9. LC_PAPER="en_US.UTF-8"
  10. LC_NAME="en_US.UTF-8"
  11. LC_ADDRESS="en_US.UTF-8"
  12. LC_TELEPHONE="en_US.UTF-8"
  13. LC_MEASUREMENT="en_US.UTF-8"
  14. LC_IDENTIFICATION="en_US.UTF-8"
  15. LC_ALL=

确定是UTF-8 , 我的项目也是UTF-8的项目, 编译器上所有的地方都是UTF-8,

但是jar包运行起来之后, 里面的有一个判断语句是永远不会执行的,

因为里面有中文, 在编译的时候已经是乱码了, 这让在下很苦恼啊,

这是一个重要的判断, 此判断不过, 则项目没法活,

所以经过多方面的排查, 确定问题出现在pom文件中,

因为 maven 打包时候 系统默认编码为 GBK , 所以需要在pom文件中将编码改编为UTF-8

具体代码配置如下

  1. <build>
  2. <plugins>
  3. <plugin>
  4. <artifactId>maven-compiler-plugin</artifactId>
  5. <configuration>
  6. <encoding>UTF-8</encoding>
  7. </configuration>
  8. </plugin>
  9. <plugin>
  10. <artifactId>maven-assembly-plugin</artifactId>
  11. <configuration>
  12. <encoding>UTF-8</encoding>
  13. <archive>
  14. <manifest>
  15. <mainClass>com.makenv.Main</mainClass>
  16. </manifest>
  17. </archive>
  18. <descriptorRefs>
  19. <descriptorRef>jar-with-dependencies</descriptorRef>
  20. </descriptorRefs>
  21. </configuration>
  22. </plugin>
  23. </plugins>
  24. </build>

能解决这个问题, 多亏了
http://chinazzlm.blog.163.com/blog/static/161843537201312634953574/

在此立贴感谢…

发表评论

表情:
评论列表 (有 0 条评论,297人围观)

还没有评论,来说两句吧...

相关阅读