当前位置:首页 > 数字化与技术

javac编译正常,java找不到或无法加载主类的解决方法

老陌10年前 (2016-04-16)数字化与技术15540

Java初学者,安装Java的时候,在cmd中javac和Java都能正常,编辑java程序HellWorld,在CMD命令下,Javac编辑正常,但是java HellWorld就提示找不到或无法加载主类。怎么办?

网上淘了半天,无非就是环境变量配置问题。但是还是解决不了实际问题,于是我亲自再找原因,终于找到破解之法,分享出来给大家。

网络上基本都是在说关于"classpath"路径的配置问题,要加入 ” .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;“  
 前面加入”.;",表明要在当前目录下面寻找类。如果你试过了很多次,classpath也配置对了,依旧出现这个错误,注意你使用的测试代码,是否在某一个包名的下面;
举例:代码如下:

package com.runoob.test;

public class HellWorld {

    public static void main(String []args) {

        System.out.println("Hello World");
     }
}

这个代码片段表明,代码包含com.runoob.test下,所以,运行javac HellWorld.java,可以编译,并生成一个HellWorld.class的文件,但是,如果执行java HellWorld却是找不到或无法加载主类。这时候就检查一下文件路径。

假如我把文件放在E:\Program Files (x86)\Java\Work\Test\src下面,那文件就在E:\Program Files (x86)\Java\Work\Test\src\com\runoob\test下面。但是包名已经包含了路径。所以,javac和java命令只需要在src下就行。CMD命令如下:

/*编译HellWorld.java文件
E:\Program Files (x86)\Java\Work\Test\src>javac com/runoob/test/HellWorld.java

/*运行HellWorld.class类文件
E:\Program Files (x86)\Java\Work\Test\src>java com.runoob.test.HellWorld

/*运行结果,成功
Hello World

注意分析上面的CMD代码片段,这是代码包名路径的问题。

原理说明:

java 程序运行class文件,对于有包名的类,java把包名当成文件夹处理,”包名+类名“ 相当于 ”文件夹目录+类名“来寻找类。

至此,问题解决。

分享给朋友:

相关文章

换了液晶显示器出现MODE NOT SUPPORTED无法显示问题

乾元轩介绍CRT换成液晶显示器时,液晶显示器在电脑启动后,进入windows XP系统时,出现MODE NOT SUPPORTED字样,并无法显示的解决办法,操作比较简单,其他操作系统可能也会遇到这个…

乾元轩新主题心是莲花测试版上线

相信大家已经看到了,乾元轩博客又弄了新的样式,暂时定名为心是莲花样式,imlotus,本主题是小一原创Qeeke主题经过乾元轩修改为imwen主题之后,再度进化版,页面除去背景莲花图片,就色泽单调非常…

搜狗输入法也沦为流氓软件?

输入法安装居然捆绑搜狗浏览器,还不让选择不安装搜狗浏览器,似乎洞悉我们的内心想法,知道我们需要什么样的输入法,什么样的浏览器,什么样的上网主页,通通都帮我们强制设定好了,这种做法看似很周到,很人性,其…

zblog博客管理手记

没有放任自己的zblog博客不管,偶尔还是做了一些小小的修改和调整,并处理一些特别垃圾的评论。这也许就是所谓的博客打理了吧,博客成长的一些细节和小小的经历,随手而记,也可以供以后遇到类似问题时查找参考…

zblog邮箱设置为必填选项

前两天花满山也和我提到个人博客网站很多垃圾留言评论的问题,这个问题让我很汗颜,垃圾评论已经严重损害了个人博客网站的健康,同时给广大人民群众带来非常严重的负面影响,所以我解决此问题并顺便介绍了zblog…

zblog验证码加字母后无法显示不全

zblog1.8版中,把验证码修改为数字0-9,再加26个小字母,发现后台登录不了了,不要担心,经过乾元轩个人博客网站的亲身体验,找到一种简单的解决方案了,方法很简单,只需要几步就可以让zblog模板…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。