java编译通过,运行却提示找不到或无法加载主类的解决方案

简介: java编译通过,运行却提示找不到或无法加载主类的解决方案

一、问题描述

java(javac HelloWorld.java)编译通过,(java HelloWorld)运行却 提示找不到或无法加载主类 的一般多见过java初上手,使用命令行的方式运行java程序,一般使用IDE工具是不会遇见的。


二、分析和解决

既然javac编译已经通过,这说明变量 JAVA-HOME 已经配置的没有问题了。


第一种可能就是:问题就出在Path变量对应的变量值上或者是新建用户变量classpath上有问题,你重新配置一下。Path对应的变量值是在原来的变量值前面加上%Java_Home%;而classpath对应的变量值应该设为 .;(注意是英文字符)


第二种可能就是:你的环境变量都是正确的,只是你编译的java源文件中,主函数public static void main(String args[]){}没有写在main这个类中。一个java源文件可以写很多类,编译的时候javac源文件之后,每个类生成一个class文件。你去运行的时候,并不一定是java源文件名,而是去找java主函数所在的那个类名。


第三种可能就是: 你在写java源代码时加了包名,你把它删掉试试或使用javac编译的时候后面加上-d . 即:javac HelloWorld.java -d . 然就再运行的时候加上包名即可。



第四种可能就是: 当前用户权限不够,使用管理员权限运行cmd窗口再试试。也可以尝试在当前cmd 运行 SET CLASSPATH=. 即可设置解释的路径为当前路径,然后再运行java HelloWorld


最后的解决办法:先把原有的java环境变量全删除,按照 windows 10 配置Java 环境变量 重新配置java环境变量,并重启电脑再进行尝试。


需要注意的是:

再尝试完一种方法进行测试时,需要重新打开cmd窗口,不要一直开着cmd的界面反复进行测试,那样会一直按修改前的系统变量执行的。


目录
相关文章
|
1月前
|
NoSQL Java 关系型数据库
基于Java swing和mysql实现的学生选课管理系统(源码+数据库+运行指导视频)
基于Java swing和mysql实现的学生选课管理系统(源码+数据库+运行指导视频)
|
1月前
|
NoSQL Java 关系型数据库
基于java swing和mysql实现的汽车租赁管理系统(源码+数据库+文档+运行指导视频)
基于java swing和mysql实现的汽车租赁管理系统(源码+数据库+文档+运行指导视频)
|
1天前
|
缓存 前端开发 安全
前后端分离架构下Java Web开发的挑战与解决方案
前后端分离架构下Java Web开发的挑战与解决方案
|
1天前
|
运维 监控 Java
使用Java进行性能监控可能会遇到的问题以及解决方案
使用Java进行性能监控可能会遇到的问题以及解决方案
|
12天前
|
SQL Java 关系型数据库
百度搜索:蓝易云【如何使用JDBC(java database connectivity)进行编译】
以上就是使用JDBC进行数据库连接和操作的基本步骤。请注意在实际开发中,需要根据具体情况处理异常、使用PreparedStatement来处理参数化查询等。
26 6
|
13天前
|
安全 Java
百度搜索:蓝易云【JAVA系列之类加载机制详解】
类加载机制的优势在于它可以延迟加载类,只有在需要使用时才加载,避免了不必要的资源消耗。此外,类加载机制也为Java提供了动态扩展的能力,可以在运行时加载新的类,实现插件化和热部署等特性。
18 0
|
19天前
|
缓存 前端开发 Java
java项目接口重复提交解决方案
java项目接口重复提交解决方案
18 0
|
1月前
|
Java Android开发 Windows
Java for Windows Missing问题原因分析以及完美解决方案
Java for Windows Missing问题原因分析以及完美解决方案
15 0
|
1月前
|
存储 网络协议 算法
TCP粘包问题与解决方案详解及Java代码演示
TCP粘包问题与解决方案详解及Java代码演示
20 0
|
1月前
|
JavaScript 前端开发 Java
Java云HIS系统解决方案源码
云HIS系统采用SaaS软件应用服务模式,提供软件应用服务多租户机制,实现一中心部署多机构使用。主要包含收费计费、药品管理、门诊医生工作站、住院医生工作站、护士工作站、数据统计、电子病历、医保接口等功能,能够满足医院及诊所日常业务开展的需要。
30 1

相关产品

  • 云迁移中心