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

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

1 package code;
2 
3 public class Test {
4 
5        public static void main(String [] args){
6                    System.out.println("Hello Java");  
7        }    
8 }

  启动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" 命令,这样就不会找不到主类了。

posted @ 2016-04-21 21:44  HorseShoe2016  阅读(16269)  评论(1编辑  收藏  举报