A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张华廷 中级黑马   /  2012-6-25 22:25  /  1726 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张华廷 于 2012-6-26 13:40 编辑

import java.util.*;

class  CollectonsDemo2
{
        public static void main(String[] args)
        {
                fillDemo();
        }

        public static void fillDemo()
        {
                List<String> list = new ArrayList<String>();
                                
                                list.add("abcd");
                                list.add("aaa");
                                list.add("zz");
                                list.add("kkkk");
                                list.add("qq");
                                sop(list);
                                Collections.fill(list,"pp");
                                sop(list);
        }

        public static void sop(Object obj)
        {
                System.out.println(obj);
               
        }
}
程序在eclipse中运行成功,结果:[abcd, aaa, zz, kkkk, qq]
[pp, pp, pp, pp, pp]
但是在dos命令行中运行时出现问题d:\Users\Administrator\Desktop\集合>java CollectionDemo2
Exception in thread "main" java.lang.NoClassDefFoundError: CollectionDemo2
Caused by: java.lang.ClassNotFoundException: CollectionDemo2
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: CollectionDemo2.  Program will exit.

3 个回复

正序浏览
李伟 发表于 2012-6-26 01:28
class  CollectonsDemo2//呵呵,肯定是你的类名写错了,应该是CollectionsDemo2,少了一个i ...

哥们还是你心细,我还是在你指点下看出来的,我就是没有看出来
回复 使用道具 举报
class  CollectonsDemo2//呵呵,肯定是你的类名写错了,应该是CollectionsDemo2,少了一个i
回复 使用道具 举报
本帖最后由 韦念欣 于 2012-6-25 22:47 编辑

楼主的classpath 环境变量没有设置好,楼主忘记添加在当前路径了。

path环境变量:
作用是指定命令搜索路径,在命令行下面执行命令如javac编译程序时,它会到path变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把jdk安装目录下的bin目录增加到现有的path变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好path变量后,就可以在任何目录下执行javac/java等工具了 。

classpath环境变量:
作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过classpath来寻找类的。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到classpath中,当然,当前目录“.”也必须加入到该变量中。其值为其值为.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\toos.jar
如果找不到需要运行的类,JVM就抛出 java.lang.NoClassDefFoundError 异常。

评分

参与人数 2技术分 +1 黑马币 +3 收起 理由
张华廷 + 3 赞一个!
黄奕豪 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马