- 正文
- 点这评论:( 0人参与)
-
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把包名当成文件夹处理,”包名+类名“ 相当于 ”文件夹目录+类名“来寻找类。
至此,问题解决。
已有 0 位网友发表了一针见血的评论,你还等什么?【相关文章】
- 2022-3-24 9:59:47excel 如何用单元格的内容 引用同名工作表并调用计数?
- 2022-3-20 17:15:47Excel中多sheet用COUNTIFS多条件计数的方法
- 2021-4-22 17:23:16PHP用fopen打开csv文件fgetcsv读取中文乱码解决思路
- 2021-4-22 17:5:21PHP出现 Notice: Undefined index:...的原因及解决办法
- 2019-10-24 21:6:15the Java Runtime (class file version 57.0), this version of the Java Runtime only52.0
- 2019-4-17 16:36:20adb shell和adb pull命令使用问题解决
- 2019-3-1 12:4:38[技术]photoshop修改二维码改变颜色ps变色
- 2018-4-2 20:44:20[技术]nvm-windows免安装、node多版本免安装和使用切换