明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
随笔 - 1277, 文章 - 0, 评论 - 214, 阅读 - 320万
  博客园  :: 首页  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

windows 环境下cmd运行jar包中文乱码及停止

Posted on   且行且思  阅读(2069)  评论(0编辑  收藏  举报

今天做项目的时候遇到一个很头疼的问题——无论在Java代码中如何统一编码为UTF8,在IDE中运行是完全没问题的,但打包成Jar通过Bash和CMD运行,都会出现中文乱码问题。起初是觉得Java编译时编码出现了问题,但经过几小时的排查,终于找到中文乱码问题的根源——cmd/bash默认的编码是GBK。为了防止日后再踩坑,本文记录问题的解决方案。

 

一、设定cmd的编码为utf-8

打开cmd,输入以下命令

chcp 65001

这样既可以更改cmd的编码为UTF-8了。


二、规定执行java时的编码方式

在cmd下,常见运行Jar包的命令如下

java -jar project.jar

但这样可能会使得java运行时编码不正确导致的报错,这时候我们可以将运行Jar时,指定编码参数

java -Dfile.encoding=utf-8 -jar project.jar

可以看到,项目正常启动,并且不会出现乱码问题;

通过以上步骤,基本上可以将中文乱码问题解决。

------------------------------------------------------------------------------------

 

二、windows 下java-jar启动的jar包怎么停

1 用管理员打开cmd命令窗口
2 输入:netstat -ano | findstr 端口号9233
3 根pid删除命令
taskkill /t /f /pid 2136

 

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2007-11-01 IIS不能用,报错:Failed to execute request because the App-Domain could not be created. Error: 0×80070005 Access is denied
2006-11-01 .NET自带控件 ································
点击右上角即可分享
微信分享提示