我有一个ComPac.java
带有以下代码的java文件:
package com;
public class ComPac{
public static void main(String[] args) {
System.out.println("Hello World");
}
}
该文件位于路径:/home/ec2-user/java_c
为了编译这个文件,我运行了javac Compac.java
,并且生成了类文件。
现在轮到运行类文件了。
所以我做了java ComPac
(下面的截图)
可以理解的是,我得到了错误Error: Could not find or load main class ComPac. Caused by: java.lang.NoClassDefFoundError: com/ComPac (wrong name: ComPac).
我假设是因为 java 文件中com
声明了包。
因此,我尝试了,java com.ComPac
并希望它能够工作(下面的屏幕截图)。
但我得到了错误:Error: Could not find or load main class com.ComPac. Caused by: java.lang.ClassNotFoundException: com.ComPac
。
那么我该如何运行呢?当涉及到 java 中的包时,运行的逻辑到底是什么?
使用Java-openjdk version "11.0.8" 2020-07-14 LTS(AWS Corretto)
使用的操作系统-Amazon Linux 2