我一直在尝试使用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>