jarsigner 是 JDK (Java Development Kit) 提供的一个命令行工具,用于对 Java JAR (Java Archive) 文件进行数字签名,它不在 Windows 系统的默认路径中,所以你需要告诉 Windows 去哪里找它。

下面我将为你详细解释原因并提供几种解决方案,最推荐的是第一种。
问题根源
你的操作系统(Windows)的环境变量 Path 中,没有包含 JDK 的 bin 目录路径,当你在命令行(CMD 或 PowerShell)中输入一个命令时,系统会自动在 Path 变量中列出的所有文件夹里去寻找对应的可执行文件(如 .exe, .cmd),如果找不到,就会报“不是内部或外部命令”的错误。
解决方案
请按照以下步骤操作,强烈推荐方案一。
正确配置环境变量(最推荐、最彻底的解决方案)
这是解决此问题的标准方法,能确保所有 JDK 工具(如 javac, java, jarsigner 等)都能被系统找到。

步骤 1:确认 JDK 安装路径
你需要知道你的 JDK 安装在哪里,通常默认路径是 C:\Program Files\Java\jdk-<版本号>(C:\Program Files\Java\jdk-17.0.2),如果你不确定,可以按以下方式查找:
- 打开“此电脑”,进入
C:\Program Files\Java目录。 - 你会看到一个类似
jdk-1.8,jdk-11,jdk-17的文件夹,这就是你的 JDK 安装目录,记下这个完整路径。
步骤 2:添加或编辑环境变量
- 在 Windows 搜索栏中搜索“编辑系统环境变量”,并打开它。
- 在弹出的“系统属性”窗口中,点击右下角的“环境变量...”按钮。
- 在“系统变量”(或“用户变量”,但系统变量对所有用户都有效)区域,找到并选中名为
Path的变量,然后点击“编辑...”。 - 在“编辑环境变量”窗口中,点击“新建”。
- 在新的输入框中,粘贴你第一步中记下的 JDK 的
bin目录路径。- 如果你的 JDK 路径是
C:\Program Files\Java\jdk-17.0.2,那么这里就输入:C:\Program Files\Java\jdk-17.0.2\bin
- 如果你的 JDK 路径是
- 点击“确定”保存所有窗口。
步骤 3:验证配置

- 非常重要:关闭所有已打开的命令行窗口(CMD 或 PowerShell),因为环境变量的更改只在新的命令行进程中生效。
- 重新打开一个新的命令行窗口(按
Win + R,输入cmd或powershell并回车)。 - 输入以下命令并回车:
jarsigner -version
- 如果成功,你会看到
jarsigner的版本信息,jarsigner 17.0.2 ...这就说明配置成功了!
临时使用(适用于偶尔使用或快速测试)
如果你不想修改环境变量,或者只是想临时用一次,可以在命令行中指定 jarsigner.exe 的完整路径。
- 打开命令行窗口(CMD 或 PowerShell)。
- 使用
cd命令切换到你的 JAR 文件所在的目录。cd C:\path\to\your\jar\file
- 执行签名命令时,在
jarsigner前面加上完整的 JDKbin目录路径。"C:\Program Files\Java\jdk-17.0.2\bin\jarsigner.exe" -keystore mykeystore.jks -storepass mypassword myapp.jar myalias
注意:路径中如果包含空格(如
Program Files),需要用英文双引号 括起来。
缺点:每次使用都要输入很长的路径,非常不方便。
检查你的 JDK 安装(如果方案一无效)
如果你已经配置了环境变量但仍然报错,可能是 JDK 安装本身有问题。
-
检查
Path变量是否真的生效:- 在新的命令行窗口中,输入
echo %JAVA_HOME%(CMD)或$env:JAVA_HOME(PowerShell),如果正确设置了JAVA_HOME,会输出 JDK 的根目录。 - 输入
where java或where javac,看看它们指向的路径是否正确,是否指向了你的 JDKbin目录。
- 在新的命令行窗口中,输入
-
重新安装或修复 JDK:
- 前往 Oracle 官网 或 Adoptium (Eclipse Temurin) 下载最新的 JDK 安装包。
- 运行安装程序,在安装过程中,强烈建议勾选“将 Java 添加到 PATH” 的选项,它会自动为你完成方案一的所有步骤。
- 安装完成后,重启电脑,然后验证
jarsigner命令。
| 方案 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 配置环境变量 | 一劳永逸,所有 JDK 命令全局可用 | 需要重启命令行窗口 | 强烈推荐,所有开发人员都应该这样做 |
| 使用完整路径 | 无需配置,立即可用 | 每次都要输入长路径,不方便 | 偶尔使用、快速测试或脚本中 |
| 检查/重装 JDK | 从根本上解决问题 | 步骤稍多 | 方案一失败时,怀疑 JDK 安装有问题时 |
对于绝大多数情况,方案一 是最佳选择,它能让你在任何地方都能方便地使用 jarsigner 以及其他 JDK 工具。
