0

HelloWorld の例を少し作成しましたが、(Windows の) コマンド プロンプトから実行する際に問題が発生します。次の方法で実行しようとすると:

コマンド プロンプトからjava tcpServerを実行するとNoClassDefFoundError
が返され 、javac でコンパイルでき、クラス ファイルが生成されます。

どこかで、クラスフォルダーへのパスを CLASSPATH 環境変数に入れる必要があることを読んでいました。実行してマシンを再起動しましたが、それでも同じエラーが発生します。

私もjava -cp c:\MyFolderWhereClassFileIs HelloWorldで実行しようとしましたが、動作しません。

ENV 変数を調べたところ、JAVA_HOME: C:\Program Files (x86)\Java\jdk1.6.0_26; があります。JRE_HOME:C:\Program Files (x86)\Java\jre6; クラスパス: C:\HelloWorld;

それで、これをどのように実行しますか?これを解決する方法はありますか?ありがとう。

PS。私にとって最も厄介なことは、EclipseでJavaプロジェクトを作成し、HelloWorldの例を作成すると、正常に動作することです...

アップデート:

これがコードです。パッケージが指定されています。

package test.com;
public class HelloWorld {
    public static void main(String[] args) {
        System.out.print("Hello World");
    }
}

私の HelloWorld.java と HelloWorld.class ファイルは次の場所にあります: C:\workspace\TestApp\src\test\com

これまでに学んだことの 1 つは、com フォルダーまたは test フォルダー内から実行できないことです。src フォルダーにいる必要があります。クラス ファイルが見つかります...しかし、まだ実行できません...常に同じエラーが発生します。

4

1 に答える 1

2

あなたのクラスにはパッケージ名がありますか? つまり、上部にあるステートメントは次のとおりです。

package <mypkgname>;?

その場合は、(A)正しいディレクトリ構造を作成し、(B)コマンドでクラス名の前にパッケージ名を付ける必要がありますjava

たとえば、Java ファイルが次のようになっているとします。

package hello;
public class HelloWorld {
    ...
}

次に、基本的なディレクトリ構造は次のようになります。

src/hello/
src/hello/HelloWorld.java
src/hello/HelloWorld.class

そして、あなたのbashコマンドは次のようになります:

cd src
java hello.HelloWorld

それ以外の場合、クラスにパッケージ名がない場合、デフォルト パッケージに配置されます。この場合、cdクラス ファイルが存在するディレクトリに移動して、java HelloWorld.

于 2013-08-05T20:41:07.913 に答える