我正在研究Java软件包系统。我从论坛和Oracle文档中读到了一些东西。
我的想法是创建两个类。将它们放在不同的程序包中,然后使用import关键字使它们全部运行。
Class01是这样的:
package study.lab03;
public class Class01{
public void execute(){
System.out.println("test ok");
}
}
Class02是这样的:
package study;
import study.lab03.*;
public class Class02{
public static void main(String[] args){
Class01 cl01 = new Class01();
cl01.execute();
}
}
我的文件夹结构是这样的: C:\ projects \ study \ lab03
我已经在CLASSPATH变量的末尾添加了“ C:\ projects”。
要编译Class01,我做到了: C:\ projects \ study \ lab03> javac Class01.java 编译良好 strong>,并创建了.class文件。
要编译Class02,我做了: C:\ projects \ study> javac Class02.java 编译很好,然后创建了.class。
要运行我正在尝试的代码:
C:\ projects \ study> java Class02 错误:无法找到或加载主类
C:\ projects \ study> java -classpath项目Class02 错误:无法找到或加载主类
C:\ projects \ study> java -classpath项目study.Class02 错误:无法找到或加载主类
我不明白我在做什么错。
答案 0 :(得分:0)
您需要指定要运行的main()
的类的FQN(完全限定名称,即程序包+类名称)。在您的情况下,它看起来像这样:C:\projects>java study.Class02
请注意,如果您位于C:\projects
中,则无需指定-classpath
,因为默认情况下是.
,如果您在其他地方,则需要指定它。 / p>