1

我有一个只有签名 jar 的应用程序,所有这些都由同一个证书,我的。我不想用 Webstart 运行应用程序。应用程序运行编译器,编译后的代码运行 LWJGL。但是,当我运行该应用程序时,它通过编译代码返回错误,它实际上无法找到 LWJGL(-library) 包(原始应用程序可以很好地看到它)。当我将应用程序编译为可信库时,它也会出错:

Exception in thread "CompilerThread" java.lang.NoClassDefFoundError: com/sun/tools/javac/api/JavacTool
    at customcompile.CustomCompile$2.run(CustomCompile.java:82)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.sun.tools.javac.api.JavacTool
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 2 more

http://download.oracle.com/javase/6/docs/technotes/guides/jweb/mixed_code.html 我找到了这个网站,但它并没有让我对特定主题更加明智,因为它显然与编译后的代码与其他代码的处理方式不同。

谁能帮我解决这个问题?还是清理一下?

编辑:我已经得出结论,编译后的代码被视为无符号。要识别这些库,需要将它们添加到类路径中。

4

1 回答 1

0

我认为将 System.getProperty 调用等重定向到已签名的类将解决未签名代码中的任何问题,从而间接赋予它更多权利。

于 2011-08-24T09:41:11.807 回答