在idea正常运行项目的时候是没有任何问题的,不管是项目接口的连接还是模拟请求,都是正常的,但是使用如下命令运行就会出现乱码现象,尤其是模拟请求。

java -jar abc.jar

同一个模拟请求,idea运行的就没有任何问题,但是jar包请求则是不行,这就说明了代码是没有任何问题的,有问题的就在于idea运行的环境和jar直接运行的环境是不同的。

于是各种搜索,有的是说是没有设置相应的header格式,总之各种测试之后都是不行,最终搜索idea运行和jar包运行的不同,才知道idea运行Springboot项目时,模型类用中文作为字段属性,封装成Odata格式,在通过Springboot发布并打成jar包。而直接运行jar出现问题,则是执行jar包的时候没有制定编码所致。因此通过以下方法执行jar包,问题成功解决。

解决方法:

java -Dfile.encoding=utf-8 -jar abc.jar 就可以避免乱码。(-Dfile.encoding=utf-8)

Logo

一站式 AI 云服务平台

更多推荐