被一个小问题折腾了很久:一个很简单的java文件,在MyEclipse中可以运行,在命令行里不行,总是提示NoClassDefFoundError
 
文件内容:
package afanti;
public class MainMethod {
 public static void main(String[] args) {
  System.out.println("This is main method");
 }
}
 
要点在package上,本质是classpath设置问题

命令行里用javac到文件所在文件夹编译没有问题,classpath用于java运行时寻找编译出来的class文件。
需要将classpath设置到包所在位置,即afanti的上层目录,然后执行
java afanti.MainMethod
 
附:
三种设置classpath方法
1.用环境变量设置,永久生效
2.用set classpath=XXX设置,临时生效
3.用java -cp XXX MainMethod设置,临时生效,且优先级比前两种高