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

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

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

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把包名当成文件夹处理,”包名+类名“ 相当于 ”文件夹目录+类名“来寻找类。

至此,问题解决。

分享给朋友:

相关文章

CSS控制zblog文章段落首行缩进两个字符位置

乾元轩介绍了如何利用CSS控制zblog文章段落首行缩进的问题,可以避免使用tab键,这样查看源代码,也会觉得代码看起来比较美观简洁,搜索引擎相对来说爬行时会感到比较舒服…

关于博客留言评论

谁人开个人博客,都希望留言多多,评论多多,不过,要是有很多垃圾留言评论,想必也是甚为苦恼,挚诚的评论才是令人愉快、令人满足的,即便只是短短几个字的言语…

博客流量之搜索引擎来路

博客流量之搜索引擎来路

乾元轩博客并没有什么流量,都是靠着几篇琐碎的文章从一些大牌搜索引擎那里分得点滴流量,这当然不是假话,有第三方流量统计工具的统计数字作证,这十几二十个ip一天虽然不值一提,但是觉得还挺有意思挺好玩的…

Windows组件没有Internet信息服务(IIS)选项解决设置方法

通过控制面板的添加删除程序,不少人都会遇到Windows组件没有Internet信息服务(IIS)选项的情况,当然这针对需要安装IIS服务器的人来说,但是我们可以通过一些方法来恢复Windows组件中…

ZBtoSnWb新浪微博插件无法调用摘要解决

使用ZSXSOFT开发的zblog新浪微博插件更新文章或者修改文章的时候,摘要无法显示,通过对插件的修改可以修复这一个问题,这个修改方法也简单,只需要在该插件include.asp文件的代码里加入一句…

linux系统root密码忘记修改办法

linux系统root密码忘记修改办法

linux系统Root密码忘了怎么办?解决办法(图解请下载附件) Root密码忘了就这么办!这个方法菜鸟实践证明可行!1.在开机启动的时候能看到这个引导目录(3秒将进入默认),用上下方向键选择你要进入…

发表评论

访客

看不清,换一张

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