无法在 Java 中找到或加载主 a class

Could not find or load main a class in Java

我有以下项目结构:

JavaTest
    Main
        Main.java
    Test
        Test.java

Main.java:

package Main;
import Test.*;
public class Main {
    public static void main(String[] args) {
    }
}

Test.java:

package Test;
public class Test {
} 

我用以下命令编译它们:

D:\Development\Workspace\JavaTest>javac Main\Main.java

D:\Development\Workspace\JavaTest>javac Test\Test.java

class个文件是这样放的:

JavaTest
    Main
        Main.java
        Main.class
    Test
        Test.java
        Test.class

我正在尝试使用以下命令 运行 它:

D:\Development\Workspace\JavaTest>java -cp D:\Development\Workspace\JavaTest\Main;D:\Development\Workspace\JavaTest\Test Main

我得到的错误是:

Error: Could not find or load main class Main
Caused by: java.lang.NoClassDefFoundError: Main/Main (wrong name: Main)

将包添加到主 class 并将 class 路径设置为基本目录

D:\Development\Workspace\JavaTest>java -cp D:\Development\Workspace\JavaTest Main.Main

我建议您遵守 Java 约定并在包中仅使用小写名称。 而且您不需要 运行 您的 class

的测试路径

按如下操作:

javac -d . Main/Main.java
java Main.Main

备注:

  1. 当前目录由.
  2. 表示
  3. 我建议您遵循 Java 命名约定。根据命名约定,您的包的名称应为 main。查看 https://www.oracle.com/technetwork/java/codeconventions-135099.html 了解更多详情。
  4. 使用命令 javac -help 了解有关 javac 可用选项的更多信息。