今天编译JAVA程序的时候发现用javac能编译,但用java则提示找不到或无法加载主类,上网找了一下,找到了解决方法如下:

将命令行到该java文件同一目录;直接输入命令javac Joeytang.java则会在当前的文件夹下出现Joeytang.class类文件。如果想指定编译的同时将编译好的类文件放到一个文件夹下则可以使用-d指定路径。例如javac -d ./ Joeytang.java则是在当前目录下,javac -d ../ Joeytang.java 在上一个文件夹,javac -d ../ a Joeytang.java则是在上一个文件夹下的a文件夹下,但是一定要保证指定的文件路径存在。运行该类文件,首先保证该类是具有main方法的类。然后编译完以后,使用java -classpath .; Joeytang就可以运行了。我开始没有加-classpath选项,老是提示说找不到类。所以一定要记住在这里加入该选项。具体该选项的作用是说在运行时调用了外部的类或者包时在这里注明,即如果使用了a.jar则要加上-classpath .; a.jar其中前面的那个“.;”我理解成是把环境变量中配置的jar文件拿进来。

运行试了下,果然成功了!哈哈~

————————————————————

通俗的说,例如运行hello.class,命令行下直接输入java -classpath .;  hello,每次运行测试时都直接这样输入就行了。也可以像部分网友这样机械的理解:就是以前的java命令被java -classpath .;  替换了。

注:我使用的是JDK 1.7.0