2

レイアウトなどのクラスをswt.jarcmdで使用しようとすると、それがないことについて不平を言います。これはメッセージエラーです:

スレッド「メイン」の例外 java.lang.NoClassDefFoundError: org/eclipse/swt/widgets/Layout

奇妙なことにswt.jar\extディレクトリにあり、私の CLASSPATH はC:\Program Files\Java\jdk1.6.0_26\jre\lib\ext

Eclipse で新しいプロジェクトを作成しても問題はありません。この jar からのすべてのインポートは正常に機能しますが、cmd ではこのエラーが発生します。

お願い助けて!

4

2 に答える 2

3

あなたは厳しい教訓を学んでいます: Eclipse を含む IDE や、Tomcat のような Java EE アプリ サーバーは、CLASSPATH のような環境変数に注意を払いません。

swt.jar のような JAR が jre/lib/ext ディレクトリに属しているとは思えません。これは、Oracle の JVM 拡張機能のみに適用されます。

これをプロジェクトの /lib ディレクトリに、他のすべてのサードパーティ JAR とともに追加し、Eclipse と起動スクリプトで CLASSPATH を適切に設定する必要があります。

于 2012-10-25T19:38:21.430 に答える
2

Jar Fileその下のクラスを使用するには、クラスパスを まで設定する必要がありますJar File

C:\Program Files\Java\jdk1.6.0_26\jre\lib\ext\swt.jar

ext単なる提案: - Jar ファイルをディレクトリに置かないでください。別の場所に置いてください。

関係する限り、環境変数Eclipseのセットは使用しません。Eclipse で使用している間はプロジェクトの下のディレクトリにSystem Classpath配置し、BuildPath に追加する必要があります。Jar FilelibJar File

于 2012-10-25T19:36:29.993 に答える