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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张金 中级黑马   /  2012-9-23 09:50  /  1268 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张金 于 2012-9-23 10:03 编辑

就是哪些编译通过后的程序,再执行class文件时,出现找不到或者无法加载主类的问题,一般都有哪些原因啊。
自己上网查了一些东西,但是还是完全不懂,谁能解释的更好吗?
                                                                在CMD下用java命令出现“找不到或无法加载主类”问题                                                                (2012-05-02 22:43:01)杂谈                                                                                                                                [/td]                                        [td]                                                                                        分类:                                                专业                                                                                [/td]                                [/tr]
                        [/table]               
                                                                                        问题描述:编写简单的Hello.java程序,在cmd命令行下用javacHello.java命令编译没有问题,可以生成Hello.class文件。但输入javaHello命令后(文件目录和命令目录一致),提示错误:“找不到或无法加载主类”。

解决方法:
从网上查找原因和解决方法,有提到环境变量classpath设置问题,但多次尝试问题依旧没有解决。然后使用java -cp%classpath; Hello执行,结果正确。
使用echo %classpath% 或者 setclasspath,查看classpath环境变量值,发现只是显示当前用户变量中的classpath值,而不是系统变量中的classpath值。将系统变量中的classpath值添加到用户变量中,然后执行javaHello,成功!使用java-cp %classpath; Hello执行,仍正确!


上网查找用户变量与系统变量的区别,用户变量是当前用户使用,你用其它用户登陆,这个环境变量就不起作用了(私有)。而系统变量,是对所有用户都可使用的(公有)。但还不太清楚为什么出现这种情况?


                                                                       

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1 赞一个!

查看全部评分

1 个回复

倒序浏览
我前两天也困惑于这个问题,后来总结了一些经验,你可以参考一下,帖子地址:http://bbs.itheima.com/thread-26062-1-1.html
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马