java编译成功,但运行失败,即错误: 找不到或无法加载主类 原因: java.lang.ClassNotFoundException:
提示:如果修改了环境变量,cmd需要重新打开
编译:javac xxx.java(利用cmd编译,必须在java文件对应目录下执行编译命令)
运行:java xxx(不带后缀,运行之前会先查找是否有对应编译好的文件,没有会自动先编译生成class文件再运行)
- 如果java文件能够编译成功,说明环境变量path没有问题
- 查看环境变量是否有classpath,以及要确保classpath的路径是准备运行的.class文件的位置,如果不符合,这就是程序出错的原因。
classpath的作用:classpath不是操作系统的变量,而是java的变量,顾名思义,它是用于在java编译和运行时告知类的路径,当我们在cmd执行“运行”操作:java Xxx 时,java程序会将classpath作为根路径,寻找名为Xxx的.class文件,如果你要运行的文件不在classpath指定路径下(在classpath路径的包里也不行,必须在classpath路径下),就会报错。先理解原理,如果是这个原因保存也可以直接看序号(4)
注意:这个错误是找不到运行的文件,还有另一种情况会提示做不到导入的文件错误,转到序号(3)
- 序号1和2都没问题,如果报错提示准备运行的文件找不到import(引入)的类,这是由于引入的类不在classpath下。例如下面的文件:
要执行的文件为LibTest.java,创建的Vector对象的类在com.mindviewinc.simple包里。LibTest.java编译和运行时java程序会将classpath作为根路径,先寻找名为LibTest的文件,然后找导入的类文件,看classpath指定路径+com.mindviewinc.simple位置下是否有Vector,没有则报错。那如何合理的设置classpath?通常设置为大包所在的位置就行,本例中com所在的位置,如下图:这样创建的其他包也可以放在OnJava8-Examples下,结构清晰。
- 由于我们要经常编写多个文件运行,他们可能在不同位置,这意味着对应的.class文件也不在一起(.java文件和编译后的.class文件默认生成在同一目录下),那如何配置classpath,让cmd可以轻松知道要运行的.class文件位置在哪呢?或者说如何通过cmd编译.java文件后可以直接运行呢?将classpath=. .代表当前目录,因为我们每次使用cmd通常情况下编译后运行,由于设置了运行后寻找文件的位置是当前目录,而当前目录正是.java所在的位置,也就是.class的位置。
上面添加后双击就是如下效果
如果对您有帮助,还请点赞收藏呀!
java编译成功,但运行失败,即错误: 找不到或无法加载主类 原因: java.lang.ClassNotFoundException:相关推荐
- [Kafka][错误: 找不到或无法加载主类 Files\Java\jdk1.8.0_101\lib\dt.jar;C:\Program]
**背景:**最近需要使用kafka服务器,之前只安装了JRE,通过命令能够正常启动kafka服务器.后来卸载了JRE,重新安装了一个JDK(含JRE),启动时kafka时会报错. **现象:**cm ...
- java10 运行“HelloWorld”错误:找不到或无法加载主类 原因: java.lang.ClassNotFoundException 的方法
我安装的版本是java10,看网上的说法是这个版本配置环境变量的话只需要设置 1.%JAVA_HOME%: jdk的安装目录 我的是D:\javajdk 2.path: %JAVA_HOME%\bi ...
- 安装scala出现Failed to initialize compiler以及IDEA中编写scala程序出现错误: 找不到或无法加载主类问题的解决
主要是解决以下两类问题: 1)在安装scala时出现: Failed to initialize compiler: object java.lang.Object in compiler mirro ...
- zzw原创_cmd下带jar包运行提示 “错误: 找不到或无法加载主类 ”
在windows下编译java,由于是临时测试一下文件,不想改classpath,就在命令行中用 -cp 或classpath引入jar包,用javac编译成功,便使用java带-cp 或classp ...
- Java 错误: 找不到或无法加载主类,问题集合
正确编译命令: javac Hello.java 正确运行命令: java Hello 错误1:H:\code>java Hello.java 错误: 找不到或无法加载主类 Hello.ja ...
- 运行提示‘错误: 找不到或无法加载主类 Engine.Runner’;修改文件夹为package
Q:配置run/debug configuration时 main class 报红,运行后提示"错误: 找不到或无法加载主类 Engine.Runner":如下图: A:排查得知 ...
- JAVA错误: 找不到或无法加载主类
检查环境变量配置: JAVA_HOME:D:\Java\jdk1.8.0_91 CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar ...
- 记一次 idea 配置scala 和运行 IDEA 错误: 找不到或无法加载主类
#记一次 idea 配置scala 和运行 IDEA 错误: 找不到或无法加载主类 ##原因:Scala对JDK的版本有一定的要求. 因此,安装scala JDK 与 idea 的scala插件不要下 ...
- 错误: 找不到或无法加载主类 org.wcy.Application
记录下:Java运行项目提示错误: 找不到或无法加载主类 org.wcy.Application 源文地址:https://www.cnblogs.com/ivy-xu/p/12844422.html ...
最新文章
- 任命新CFO 百度迎来首位女性高管
- 接待员如何向客人upsell_客房留言卡也能收获好评,看看高情商酒店如何做的?...
- android监听器作用,android - 监听器和接收器(Android)有什么区别?
- Qt工作笔记-第一个QML(QQuickView显示QML文件)
- MAVEN 的常用命令
- 【华为云技术分享】智能诊断和优化,华为云DAS服务云DBA平台让您无忧运维
- Msql快速学习基础知识------engines
- LabVIEW在快速传输速率下丢失UDP数据包
- matlab画增益频率,HFSS中如何查看增益随频率的变化曲线?
- 深入浅出理解视频编码H264结构(内涵福利)
- 物体成瘾性_如何克服数字成瘾和更多的意志力
- js正则表达式将中文标点转为英文标点
- xorl %eax, %eax
- 百倍加速:Python量化策略的算法性能提升指南
- MicroPython-On-ESP8266——数码管的使用,2片HC595驱动四位数码管
- HDLBits-Exams/ece241 2013 q4、Lemmings1、Lemmings2、Lemmings3、Lemmings4
- HM中CU,TU的划分
- 数据分析——假设检验分析方法
- 对称加密算法、非对称加密算法、散列函数与数字签名的介绍
- 博士申请 | 美国范德堡大学NDS实验室招收数据挖掘/机器学习全奖博士生
热门文章
- 微博上市让新浪又站上“浪尖”
- 400HZ中频电源设计资料(论文+开题报告+任务书+检查表……)
- 【C++】C++下的简易中国象棋
- FPGA工程师面试——时序约束
- 图像/视频数据标注工具
- 水晶报表如何完美导出一个Excel表格
- 音乐播放器类的Android项目源码
- C语言 | 计算 1!+2!+3!+……+10!详细讲解
- 离散系统模型的辨识matlab程序,基于MATLAB的系统辨识及离散时间全通系统
- 【新闻传播学论文】微信公众平台新闻传播正负效应探索(节选)