3

Eclipse で開発された Java アプリケーションがあります。個別に実行するために.jarファイルとしてエクスポートしようとしましたが、コマンドで実行しようとすると

java -jar アプリケーション.jar

次のエラーが表示されます。

Exception in thread "main" java.lang.NoClassDefFoundError: org/jfree/data/xy/XYDataset
 Caused by: java.lang.ClassNotFoundException: org.jfree.data.xy.XYDataset
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccesController.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)

メイン クラスが見つかりませんでした: UI.MainWindow。プログラムは終了します

現在、メイン クラスは MainWindow.class です。public static void main(String[] args)メソッドが含まれています。manifest.mf ファイルを確認しましたが、正しいようです:

  Manifest-Version: 1.0
  Main-Class: UI.MainWindow

Eclipse IDE for Java Developers バージョン: Helios Releaseを 64 ビット Windows 2008 システムで使用しています。

どうすればよいですか?どうすればこれを解決できますか?org/jfree/data/xy/XYDataset エラーの意味は何ですか?

ありがとう

4

5 に答える 5

5

これは通常、必要な依存関係の jar ファイルの 1 つ以上がクラス パスに含まれていない場合に発生するケースであり、含まれているMANIFESTスニペットから、これが問題のようです。

Runnable Jar別の注意として、エクスポート機能を使用したい場合があります。これによりRuntime Configuration、この jar をエクスポートするためのテンプレートとして使用されたものが適切である場合、エクスポートされた jar が機能することが保証されます。

于 2013-01-16T11:32:46.537 に答える
2

あなたができる2つのことは

  1. 以下のように、依存関係 jar をクラスパスに指定して Java アプリケーションを起動します。
    java -cp jfreechart-1.x.x.jar -jar application.jar

  2. 以下のように MANIFEST.MF に Classpath オプションを追加します。
    Manifest-Version: 1.0
    Main-Class: UI.MainWindow Class-Path: < PATH to the jfreechart-1.xxjar >

于 2013-01-16T10:29:56.857 に答える
0

これは、コードの main() メソッドで -org/jfree/data/xy/XYDatasetが見つからないことを意味します

考えられる理由は、org.jfree ライブラリ jar がクラスパスに存在しないことです

于 2013-01-16T09:57:24.123 に答える
0

1.ライブラリをjdkクラスパスに入れることができます
2.その後、jarをエクスポートして実行します

lib path will be
$JDK_HOME\jre\lib\ext
$JDK_HOME is your jdk installation root path
于 2013-01-16T10:15:23.367 に答える