0

我正在尝试重新签署已过期签名的 Java 小程序。

小程序是Jdraw,一个 Dokuwiki 的插件。

我已按照其他帖子的说明进行操作,并使用我自己的密钥创建了一个密钥库,然后我解开了罐子的包装,我重新包装了它们并用我自己的签名签名。

现在,插件安装得很好,但是当我运行它时,我收到以下错误:

java.lang.NoClassDefFoundError: com/mxgraph/swing/util/mxSwingConstants
    at com.hammurapi.jdraw.JDrawApplet.start(JDrawApplet.java:42)
    at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter.start(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: com.mxgraph.swing.util.mxSwingConstants
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 4 more

com/mxgraph/swing/util/mxSwingConstants 存在,在 jgraphx.jar 中。

编辑:我尝试将 CLASSPATH 添加到清单,但我仍然得到同样的错误。

编辑2:

这是我添加到清单的内容:

Permissions: all-permissions
Codebase: *
Application-Name: jdraw
Class-Path: jgraphx.jar
4

2 回答 2

0

您应该知道,任何主要浏览器都不再接受自签名小程序。如果要作为小程序运行,则必须购买证书。

于 2014-09-02T17:33:33.677 回答
0

我认为您应该使用所有原始罐子(在您签署小程序之前,小程序类路径中的所有罐子),修复异常,然后使用新证书对其进行签名;请注意,已经签名的文件将不起作用,您需要使用没有任何签名的 jar。 通过将 jgraphx.jar 添加到小程序的类路径来修复异常ClassNotFoundException。

于 2014-09-09T12:45:17.997 回答