我具有以下项目结构:
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
类文件的放置方式如下:
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)
将包添加到您的主类,并将类路径设置为基本目录
D:\Development\Workspace\JavaTest>java -cp D:\Development\Workspace\JavaTest Main.Main
我建议您坚持使用Java约定,并且在包中仅使用小写名称。而且您不需要测试路径即可运行您的课程