命令行下运行 java someClass.class出现 “错误:找不到或无法加载主类someClass ” 的解决方案

假设在C:\Java\code\目录下建立了如下 Test.java文件:

 package code;

 public class Test {

        public static void main(String [] args){
System.out.println("Hello Java");
}
}

  启动cmd命令行窗口,切换当前路径至 C:\Java\code\,运行命令:javac Test.java。通常会正常编译,在当前目录下生成 Test.class 文件。

但是当接着运行命令: java Test 时,通常会出现 “错误: 找不到或无法加载主类 Test” 的错误提示。这是什么原因呢?

  原因在于 “package code;” 命令。该命令指明了类Test是在code这个package中的,因此运行 "java Test" 时,应当先退回到上一级目录,本例即 C:\Java\目录,然后再运行 "java code.Test" 命令,这样就能正确运行代码了。也可以在cmd启动的时候就直接将当前目录定位到 C:\Java\ 目录,然后编译命令用 "javac code\Test.java" ,编译完后运行执行命令 "java code.Test" ,这样就可以了。

  另一种解决方法是 去掉Test.java 文件中的 package code; 这一行,然后直接在 C:\Java\code\ 目录下运行 “javac Test.java” 和 "java Test" 命令,这样就不会找不到主类了。

上一篇:Java 命令行运行java程序,出现“找不到或无法加载主类 ”的注意事项


下一篇:[swustoj 373] Antiprime数