[英]Could not find or load main a class in Java
i have the following project structure:我有以下项目结构:
JavaTest
Main
Main.java
Test
Test.java
Main.java:主.java:
package Main;
import Test.*;
public class Main {
public static void main(String[] args) {
}
}
Test.java:测试.java:
package Test;
public class Test {
}
I compile them with the following commands:我使用以下命令编译它们:
D:\Development\Workspace\JavaTest>javac Main\Main.java
D:\Development\Workspace\JavaTest>javac Test\Test.java
The class files are put like this:类文件是这样放置的:
JavaTest
Main
Main.java
Main.class
Test
Test.java
Test.class
I'm trying to run it with the following command:我正在尝试使用以下命令运行它:
D:\Development\Workspace\JavaTest>java -cp D:\Development\Workspace\JavaTest\Main;D:\Development\Workspace\JavaTest\Test Main
The error i'm getting is:我得到的错误是:
Error: Could not find or load main class Main
Caused by: java.lang.NoClassDefFoundError: Main/Main (wrong name: Main)
add the package to your main class and set the classpath to the base directory将包添加到您的主类并将类路径设置为基目录
D:\Development\Workspace\JavaTest>java -cp D:\Development\Workspace\JavaTest Main.Main
I'd recommend you stick to Java conventions and use only lowercase names in your package.我建议您坚持 Java 约定并在您的包中仅使用小写名称。 And you don't need the Test path to run your class
而且您不需要测试路径来运行您的课程
Do it as follows:请按以下步骤操作:
javac -d . Main/Main.java
java Main.Main
Notes:笔记:
.
.
main
.main
。 Check https://www.oracle.com/technetwork/java/codeconventions-135099.html for more details.javac -help
to know more about the options available with javac
.javac -help
了解有关javac
可用选项的更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.