解决bat脚本启动Jar包War包闪退的问题,并且解决CMD窗口打印中文乱码的问题,Windows环境启动Java程序问题

发布时间:2024年01月04日

Windows 命令提示符(cmd.exe)是 Windows NT 下的一个用于运行 Windows 控制面板程序或某些 DOS 程序的shell程序;或在 Windows CE 下只用于运行控制面板程序的外壳程序。cmd指令有很多,使用用途也很广!

cmd是command的缩写.即命令行 。

虽然随着计算机产业的发展,Windows 操作系统的应用越来越广泛,DOS 面临着被淘汰的命运,但是因为它运行安全、稳定,有的用户还在使用,所以一般Windows 的各种版本都与其兼容,用户可以在Windows 系统下运行DOS,中文版Windows XP 中的命令提示符进一步提高了与DOS 下操作命令的兼容性,用户可以在命令提示符直接输入中文调用文件。

  在9x系统下输入command就可以打开命令行.而在NT系统上可以输入cmd来打开,在windows2003后被cmd替代,利用CMD命令查询系统的信息或者是判断网络的好坏。下图为CMD启动后的界面。

当我们尝试用一个bat脚本来启动War包或者Jar包的Java程序时,我们会写一个这样的脚本start.bat,命令内容:

java -Dfile.encoding=utf8 -jar D:\交通管理服务\fdw.war

但是当我们点击start.bat启动时,会遇到直接闪退的情况

原因在于我们的脚本中含有中文路径,CMD窗口默认的字符集是?GBK2312,但我们编写的文件使用字符集是?UTF-8

解决办法:修改命令内容为如下

chcp 65001
java -Dfile.encoding=utf8 -jar D:\交通管理服务\fdw.war

?执行前增加一行 chcp 65001,这样就能指定此CMD窗口的字符集为UTF-8了!

程序才能正常启动

文章来源:https://blog.csdn.net/weixin_44853310/article/details/135381381
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。