0

我正在尝试使用 swt 浏览器打开一个小程序嵌入式网页并收到以下错误...卡在这里..任何人都可以帮忙

java.lang.NoClassDefFoundError: com/sun/deploy/services/Service
    at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
    at org.eclipse.swt.internal.win32.OS.DispatchMessage(Unknown Source)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
    at com.ivb.coep.vtu.plc.OpenBrowser.<init>(OpenBrowser.java:33)
    at com.ivb.coep.vtu.plc.OpenBrowser.main(OpenBrowser.java:39)
Caused by: java.lang.ClassNotFoundException: com.sun.deploy.services.Service
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
4

1 回答 1

1

浏览器对小程序的支持因平台而异:

Windows:从 Eclipse/SWT 3.5 开始,如果满足以下所有条件,则可以在浏览器中查看小程序:

1) 对于使用 SWT.NONE 样式创建的浏览器,安装的 IE 版本为 7.0 或更高版本

2) 对于使用 SWT.MOZILLA 样式创建的浏览器,安装的 XULRunner 版本为 1.9.2.x 或 3.6.x

3) 安装的Java插件为Sun JRE 1.6u10或更新版本,启用Next Generation Java Plug-in(安装JRE时默认启用该插件)

4) 使用提供已安装 Java 插件的相同 JRE 启动应用程序

5) 应用程序将 JRE 的 plugin.jar、deploy.jar 和 javaws.jar jar 添加到 JRE 的引导类路径中。例如,要启动 eclipse: eclipse -vmargs -Xbootclasspath/a:"C:\Program Files\Java\jre6\lib\plugin.jar;C:\Program Files\Java\jre6\lib\deploy.jar;C: \Program Files\Java\jre6\lib\javaws.jar"

Linux (Mozilla):只要在运行时找到 Mozilla Java 插件,就可以使用基于 Mozilla 的浏览器查看小程序。

OS X (WebKit):无法在 OS X 上使用基于 WebKit 的浏览器查看 Applet,因为启动 JRE 以执行 Applet 会与运行应用程序的 JRE 发生冲突。

参考: http: //www.eclipse.org/swt/faq.php#browserapplets

检查上面的链接并验证该页面中所有规定的条件,以便小程序在 swt 浏览器上运行。我猜你的应用程序的类路径中缺少一些 JAR 文件。

特别是这个java.lang.NoClassDefFoundError: com/sun/deploy/services/Service。这个类属于deploy.jar。

于 2012-08-16T07:25:49.073 回答