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

来源:互联网 发布:江阴广电网络 编辑:程序博客网 时间:2024/06/05 08:41

  首先,我是为了了解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 goodSystem.out.println(args);//Convert args to a List of StringList<String> argList = Arrays.asList(args);//Print them outSystem.out.println(argList);}}
package collections;

这句代码让我的类名发生了变化,它会在我的java指令后面的名称ArrayToList前自动加上collections。因此,把这句代码注释掉,运行成功。

0 0