我一直在尝试使用JSObject将信息从Java发送到Java脚本,但我一直收到java.lang.ClassNotFoundException:com.sun.deploy.appcontext.AppContext异常,我正在使用netbeans 7.1。

这是完整的堆栈跟踪

java.lang.NoClassDefFoundError: com/sun/deploy/appcontext/AppContext
    at MapTest.MapApplet.init(MapApplet.java:23)
    at sun.applet.AppletPanel.run(AppletPanel.java:434)
    at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.ClassNotFoundException: com.sun.deploy.appcontext.AppContext
   at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
   at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
   ... 3 more

它指的是这一行代码
    win = JSObject.getWindow(this);

这些都是我进口的
import netscape.javascript.JSObject;
import java.lang.*;
import java.applet.*;
import java.awt.Graphics;

我真的需要帮助,似乎无法在任何地方找到解决方案。

谢谢。

最佳答案

我遇到了类似的错误,并且可以通过将本地Java安装中找到的deploy.jar添加到项目构建路径来解决该错误。不确定如何在netbeans中执行此操作,但是对于其他使用maven的用户,可以尝试添加以下依赖项:

<dependency>
    <groupId>sun</groupId>
    <artifactId>deploy</artifactId>
    <version>7.0</version>
    <scope>system</scope>
    <systemPath>${java.home}/lib/deploy.jar</systemPath>
</dependency>

10-06 03:50