自签名jar文件,找不到JarSigner类

use*_*741 2 java keytool jar-signing jarsigner

我正在尝试签署我的java applet.我运行以下行来创建证书:

keytool -genkey -keystore myKeyStore -alias ben
keytool -selfcert -keystore myKeyStore -alias ben
Run Code Online (Sandbox Code Playgroud)

到这里一切顺利.它需要密码和一些细节,并创建MyKeyStore文件.

然后我运行这一行:

jarsigner -keystore myKeyStore nnis.jar ben
Run Code Online (Sandbox Code Playgroud)

但它所做的只是告诉我:

Error: Could not find or load main class sun.security.tools.JarSigner
Run Code Online (Sandbox Code Playgroud)

文件tools.jar(其中存在JarSigner.class)位于"PATH"中,为了确保,我还将其复制到我运行jarsigner命令的本地目录.

我究竟做错了什么?

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

小智 6

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

<jdk-install-folder>\bin\jarsigner.exe
<jdk-install-folder>\lib\tools.jar
Run Code Online (Sandbox Code Playgroud)

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