我在文件夹中有一个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 因为包信息错了我相信。
我该如何使这项工作?
答案 0 :(得分:3)
做
c:\foo>java bar.TestClass
代替
已编译的课程与TestClass
不同,现在bar.TestClass
完全合格
答案 1 :(得分:1)
如果要在包内的特定类中调用main方法,请指定类的完整路径。在你的情况下,这将是bar.TestClass
,即
c:\foo>java bar.TestClass
如您所见,我用/
替换了文件分隔符(.
)。