2

さて、アプリケーションをEclipseでJARにエクスポートしましたが、実行しようとすると「Java例外が発生しました」というメッセージが表示されます。コマンドラインから実行しようとすると、次のように表示されます。

C:\Users\Arturas>java -jar D:\Dropbox\EclipseWorkspace\Exports\Dantracio_skaiciu
oklis3.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/swt/widge
ts/Composite
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
        at java.lang.Class.getMethod0(Unknown Source)
        at java.lang.Class.getMethod(Unknown Source)
        at sun.launcher.LauncherHelper.getMainMethod(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.eclipse.swt.widgets.Composite
        at java.net.URLClassLoader$1.run(Unknown Source)
        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)
        ... 6 more

C:\Users\Arturas>

これに対する解決策はありますか?私はこれでJavaが嫌いです...あなたが望むときにデスクトップで動作することはありません...申し訳ありませんが、私はこれに本当にストレスを感じています。私は過剰反応しています...

これを引き起こす可能性のあるアイデアはありますか?他のコンピューターでも動作しません。現在、Java 1.7 を使用しています。また、アプリケーションは Eclipse 上で完全に動作します。

4

1 に答える 1

3

依存関係を取得する必要があります。コア Java 言語の一部ではない swt に依存しているようです。依存するすべてのサードパーティの jar を取得し、それらをクラスパスに含める必要があります。Eclipse がクラスパスのセットアップを処理するため、Eclipse 上で完全に動作します。

ドキュメントの説明に従ってマニフェスト ファイルにクラスパスを設定するか、jar の実行時にコマンドを使用するアプリケーションを起動するスクリプトを含めるか、-cpすべてを 1 つのモンスター jar にパッケージ化するものを使用できます。この質問に対する解決策。

于 2012-10-25T22:51:11.470 に答える