cmd下運行Java程序遇到java.lang.NoClassDefFoundError

  首先,我是爲了瞭解main()函數裏的參數纔在Eclipse上編寫了這個代碼做測試。

然後爲了能方便的輸入參數查看運行結果,我在cmd下執行。


我們都知道,java.lang.NoClassDefFoundError 錯誤指的是類名爲ArrayToList的.class文件不存在,但是我的文件夾裏面確實有ArrayToList.java和ArrayToList.class文件,再看錯誤提示<wrong name:collections/ArrayToList>。我輸入的java後面的名字是ArrayToList,怎麼會是collections/ArrayToList呢?原來我在Eclipse下寫這個代碼時是在collections的包下面創建的,所以查看我的

源代碼:

package collections;

import java.util.Arrays;
import java.util.List;

public class ArrayToList {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
//		This gives us nothing good
		System.out.println(args);
//		Convert args to a List of String
		List<String> argList = Arrays.asList(args);
//		Print them out
		System.out.println(argList);

	}

}
package collections;

這句代碼讓我的類名發生了變化,它會在我的java指令後面的名稱ArrayToList前自動加上collections。因此,把這句代碼註釋掉,運行成功。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章