-1

http://kodejava.org/examples/566.htmlサイトから JTree プログラムをダウンロードしました。コンパイル中ですが、プログラムを実行すると、次の例外が発生します。

Exception in thread "main" java.lang.NoClassDefFoundError: JTreeDifferentNodeIcon (wrong name: org/kodejava/example/swing/JTreeDifferentNodeIcon)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

何が問題になるのか教えてもらえますか?? ありがとう。

4

2 に答える 2

1

あなたのパッケージはorg.kodejava.example.swingです。-d オプションを指定すると、javac のビルドを試すことができます。理解を深めるために、デスクトップにソースファイルがあると仮定しましょう"C:\Users\sarath_sivan\Desktop\JTreeDifferentNodeIcon.java"

  • まず、コマンド プロンプトを開き、ディレクトリを C:\Users\sarath_sivan\Desktop( cd C:\Users\sarath_sivan\Desktop) に変更してください。
  • 次に、そこに classes という名前の新しいフォルダーを作成します ( mkdir classes)。
  • これで、javac を使用してビルドし、「-d」オプションを指定してベース ディレクトリを指定すると、適切なパッケージ構造が作成されます。( javac -d classes JTreeDifferentNodeIcon.java)
  • 次に実行java -cp classes org.kodejava.example.swing.JTreeDifferentNodeIconすると、次のような出力が生成されます。

ここに画像の説明を入力

お役に立てれば!ありがとうございました...

于 2013-02-26T08:17:03.817 に答える
0

「NoClassDefFoundError」(クラス定義が見つかりません)と表示されているので、以前に定義されていないクラスを使用していると思います(おそらく、入力ミスやインポートの忘れ、ファイルの削除、または最終ファイルのあるフォルダーから別のフォルダーへの移動が原因です)。
PS私はまだコードを見ていません(十分な時間がありません)

于 2013-02-26T08:14:02.150 に答える