命令行中編譯與運行帶有包的java文件

被一個小問題折騰了很久:一個很簡單的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設置,臨時生效,且優先級比前兩種高
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章