環境變數正確、CLASSPATH 配置無誤,仍報 錯誤: 找不到或無法加載主類 HelloWorld。核心原因:**類別屬於包結構,執行時需包含完整包名**。
mygs-maven/
└── src/main/java/hello/
├── Greeter.java
└── HelloWorld.java
// HelloWorld.java
package hello;
public class HelloWorld {
public static void main(String[] args) {
Greeter greeter = new Greeter();
System.out.println(greeter.sayHello());
}
}
// Greeter.java
package hello;
public class Greeter {
public String sayHello() {
return "Hello world!";
}
}
$ cd /home/nx/workspace/web_back-end/spring/mygs-maven/target/classes/
$ java HelloWorld
錯誤: 找不到或無法加載主類 HelloWorld
$ java hello.HelloWorld
Hello world!
.class 檔案保留包目錄結構:target/classes/hello/HelloWorld.class。target/classes),並使用**全限定類名**(包名+類名)。