http://qiqiaicc.blog.163.com/blog/static/9534741201171685237918/
问题描述:用记事本编写了一个HelloWorld.java文件。该文件在d:\module01目录下,源代码如下:
package module01;
/**
*功能:打印一个helloworld
*@author zs
*@version 1.0
*/
public class HelloWorld{
/**
*@param 字符串数组,用来接受参数值
*@return 无返回值
*/
public static void main(String[] args){
//modify by zs 2009.6.3
System.out.println("Hello world!");
}
}
进入cmd当中,进入到d:\module01该目录。运行javac HelloWorld.java编译通过。然后运行命令java HelloWorld。这时出现错误,提示为找不到或加载不了主类。
解决方案:于是乎,寻找问题所在!分别输入命令:java -version, java, javac.这些命令都能运行通过。
说明环境变量设置无误。pass系统设置方面的原因。
文件名和类名也是一致的,不是粗心大意的问题。
百思不得其解时,在网上寻找别人写的helloworld的源代码。发现我写的多了一个package。问题可能出现在这里。所以开始查找package的相关资料。最后终于发现问题所在,加上package后HelloWorld.java要放到一个子文件夹里面。比如HelloWorld.java申明属于package module01.那么要把HelloWorld.java放到一个叫做module01的文件夹下面。
编译的时候,在module01文件夹上一层,然后运行javac ./module01/HelloWorld.java (也就是说不要直接在HelloWorld.java的目录下编译)。
运行的时候,也是在module01文件夹上一层,然后运行java module01.HelloWorld
这样运行后,一切正常