You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JDK17的Keytool在CMD中生成keystore时出现问号且无法结束怎么办

Keytool生成keystore乱码、流程卡死问题解决方案

两个问题的根本原因是CMD默认GBK编码和JDK 17的UTF-8输出编码不匹配,导致提示文字乱码为问号,你输入的yes也无法被程序正确识别,因此卡在确认步骤无法结束。可选用以下任意一种方案解决:

  • 方案一:临时修改CMD编码后执行命令
    1. 打开CMD窗口后先执行编码切换指令:chcp 65001
    2. 再运行你的keytool生成命令即可,此时提示文字会正常显示中文,按要求输入信息后确认即可正常生成keystore文件
  • 方案二:强制指定keytool输出语言为英文,避开编码冲突
    运行keytool命令时追加JVM参数指定英文输出,示例命令如下,可根据你的实际需求修改alias、keystore文件名、有效期等参数:
    keytool -J-Duser.language=en -genkeypair -alias mykey -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore my.keystore -validity 3650
    此时所有提示文字为英文,无乱码问题,确认步骤输入yes即可正常结束流程
  • 方案三:使用PowerShell运行命令
    直接在Windows PowerShell中执行keytool命令,PowerShell默认编码适配性更好,多数情况下不会出现乱码和确认后卡死的问题

内容的提问来源于stack exchange,提问作者Issei Nakayama

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 16:36:03