我正在尝试签署我的Java小程序。
我运行了以下几行来创建证书:

keytool -genkey -keystore myKeyStore -alias ben
keytool -selfcert -keystore myKeyStore -alias ben


到这里为止一切正常。它要求输入密码和一些详细信息,然后创建MyKeyStore文件。

然后运行以下行:

jarsigner -keystore myKeyStore nnis.jar ben


但是它所要做的就是告诉我:

Error: Could not find or load main class sun.security.tools.JarSigner


文件tools.jar(存在JarSigner.class的文件)​​位于“ PATH”中,并且可以肯定的是,我也将其复制到了运行jarsigner命令的本地目录中。

我究竟做错了什么?

我将不胜感激任何建议-解决问题或绕过它。

最佳答案

Jarsigner.exe搜索相对于其自身位置的tools.jar。在JDK中,它们位于:

<jdk-install-folder>\bin\jarsigner.exe
<jdk-install-folder>\lib\tools.jar


只要您保持相同的相对文件夹结构,它就应该找到JarSigner类。例如,如果jarsigner.exe位于C:\ Temp \ YourFolder \ jarsigner.exe中,则应将tools.jar放在C:\ Temp \ lib \ tools.jar中。

10-06 06:14