-2

端末で Java on Linux を実行しようとすると、次のようになります。

Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorldApp/class
Caused by: java.lang.ClassNotFoundException: HelloWorldApp.class
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)

誰でもこれで私を助けることができますか?

編集:私はバイトコードファイルのフォルダーにいて、これを端末で実行しました:

bash-4.1$ java class HelloWorldApp

ソースファイル:

/**
 * The HelloWorldApp class implements an application that
 * simply prints "Hello World!" to standard output.
 */
class HelloWorldApp {
    public static void main(String[] args) {
    System.out.println("Hello World!"); // Display the string.
    }
}
4

2 に答える 2

1

あなたは実行しています

java HelloWorldApp.class

しかし、そうでなければなりません

java HelloWorldApp

呼び出しに class を追加することはできませんが、クラス名を単純に付けてください。

また、他の方もおっしゃっているように、デフォルトのパッケージではクラスがうまく動かないので、パッケージを使ったほうがいいです。

于 2012-11-12T20:13:53.320 に答える
-1

また、コードにパッケージ宣言がある場合、CLASSPATH の設定などの凝った修正をすべて試しても、それが台無しになることにも注意してください。たとえば、次の場合:

package blah;

public class HelloWorld
{
    public static void main(String[] args)
    {
         System.out.println("Hello world");
    }
}

行:パッケージ何とか; コンパイル後に Java HelloWorld が失敗する原因となります。したがって、この行を削除すると、cmd ライン経由で src を実行できるようになります。

于 2013-02-26T03:49:17.980 に答える