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

我看到你好世界很好。

但我想追加

 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

如果要调用包内特定类的main方法,请指定类的完整路径。在你的情况下,这将是bar.TestClass,即

c:\foo>java bar.TestClass

如您所见,我将文件分隔符 ( /) 替换为..

于 2013-10-28T20:31:40.600 回答