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

时间:2013-09-02 20:00:50

标签: java keytool jarsigner jar-signing

我正在尝试签署我的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命令的本地目录。

我做错了什么?

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

1 个答案:

答案 0 :(得分:5)

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