我当时在研究Java包系统。我从foruns和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> javacClass01.java编译是很好的,并创建了.class文件。
要编译Class02,我做了: C:\projects\study>javac Class02.java 编译是好的,并创建了.class。
为了运行我正在尝试的代码:
C:\projects\study>java Class02 错误:无法找到或加载主类
C:\projects\study>java -classpath projects Class02 错误:无法找到或加载主类
C:\projects\study>java -classpath projects study.Class02 错误:无法找到或加载主类
我不明白我做错了什么。
发布于 2019-11-27 22:30:30
您需要指定FQN (完全限定的名称,即。要运行的类的main()的包+类名)。在您的例子中,这看起来是这样的:C:\projects>java study.Class02
注意,如果您在C:\projects中,那么就不需要指定-classpath,因为在默认情况下,这是.,如果您在其他地方,则需要指定它。
https://stackoverflow.com/questions/59079033
复制相似问题