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。因此,把这句代码注释掉,运行成功。

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