0

フォルダーに TestClass Java があります。

c:\foo\bar\TestClass.java

コードは次のようになります。

public class TestClass {

    public static void main(String[] args){

        System.out.println("Hello World!");


    }
}

入力すると

c:\foo\bar\javac TestClass.java 

それから

c:\foo\bar\java TestClass

Hello World は問題なく表示されます。

しかし、私は追加したい

 package bar; 

また

 package foo.bar;

実際にはフォルダーにあるため、私のクラスに: foo\bar

追加すると

package bar;

そしてこれを行います:

 c:\foo\javac bar\TestClass.java

コンパイルは問題ありませんが、試してみると:

c:\foo\java bar\TestClass

パッケージ情報が間違っているため、java.lang.NoClassDefFoundErrorが表示されます。

どうすればこれを機能させることができますか?

4

2 に答える 2

3

行う

c:\foo>java bar.TestClass

代わりは

コンパイルされたクラスは完全修飾されているだけTestClassではありませんbar.TestClass

于 2013-10-28T20:27:05.473 に答える
1

パッケージ内の特定のクラスでメインメソッドを呼び出したい場合は、クラスへのフルパスを指定してください。あなたの場合、これはbar.TestClass、つまり

c:\foo>java bar.TestClass

ご覧のとおり、ファイル区切り文字 ( /) を..

于 2013-10-28T20:31:40.600 に答える