无法在 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
备注:
- 当前目录由
.
表示
- 我建议您遵循 Java 命名约定。根据命名约定,您的包的名称应为
main
。查看 https://www.oracle.com/technetwork/java/codeconventions-135099.html 了解更多详情。
- 使用命令
javac -help
了解有关 javac
可用选项的更多信息。
我有以下项目结构:
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
备注:
- 当前目录由
.
表示
- 我建议您遵循 Java 命名约定。根据命名约定,您的包的名称应为
main
。查看 https://www.oracle.com/technetwork/java/codeconventions-135099.html 了解更多详情。 - 使用命令
javac -help
了解有关javac
可用选项的更多信息。