0

HTML スクレイピングに JSoup を使用して、Eclipse から実行できるように jarfile をコンパイルしようとしています。ここに見られるように: ( http://i.imgur.com/hLmeQ.jpg )、私の jsoup jarfile は外部ライブラリに追加されます。ただし、プログラムを実行すると、NoClassDefFoundError が発生します。これは、クラスファイルが見つからないことをほのめかしているので、逆コンパイルして再確認しました。クラスファイルは、インポートされた jar 内にありました。マニフェスト ファイルも正しいです。

私は実行しています:Eclipse:ビルドID:20110916-0149、Java 7 update 5(64ビット)、およびjsoup 1.6.3、

また、Maven を使用してコンパイルしていません。

4

2 に答える 2

0

次の理由により、クラスが見つかりません。

Class-Path 宣言は ですがClass-Path: jsoup-1.6.3.jar、スクリーンショットからjsoup-1.6.3.jarは にc:\Users\Amber\Desktop\New Folderあるため、同じフォルダーから JAR ファイルを実行していない限り、見つかりません。

ソリューション:

  1. JAR を実行します。c:\Users\Amber\Desktop\New Folder
  2. jsoup-1.6.3.jar- または - JAR と同じフォルダーにコピーします。
  3. - または - すべてのライブラリに共通のフォルダー (c:\java\libs など) を用意し、このフォルダーを CLASSPATH システム環境変数に含めます。
于 2012-07-23T00:42:09.707 に答える
0

あなたは次のように述べています:

マニフェスト ファイルも正しいです。

しかし、よろしいですか?実際、jar ファイルのマニフェストはどのように見えるでしょうか? 次のようになります。

Manifest-Version: 1.0
Main-Class: yourMainClassPackage.YourMainClass
Class-Path: jsoup-1.6.3.jar

また、jsoup jar ファイルが、マニフェストのパス指定に対して正しい場所に配置されていることを確認してください。

于 2012-07-22T16:08:28.720 に答える