0

swt ブラウザーを使用してアプレットが埋め込まれた Web ページを開こうとしていますが、次のエラーが表示されます。

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 以降であり、次世代 Java プラグインが有効になっています (このプラグインは、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): アプレットを実行するための JRE の起動が、アプリケーションを実行している JRE と衝突するため、OS X 上の WebKit ベースのブラウザでアプレットを表示することはできません。

参照: 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 に答える