[Java编译运行] 错误:找不到或无法加载主类HelloWorld

[Java编译运行] 错误:找不到或无法加载主类HelloWorld

  1. 问题描述
    在本地用记事本编写Java程序HelloWorld.java:
    源代码:
class Heloworld{
	public static void main(String[] args){
	System.out.println("Hello,world!!!");
	}
}

进入到源码所在的目录:
[Java编译运行] 错误:找不到或无法加载主类HelloWorld_第1张图片编译源码:
[Java编译运行] 错误:找不到或无法加载主类HelloWorld_第2张图片
这里没有报错,编译成功,生成了.class字节码文件
在这里插入图片描述执行运行命令:
[Java编译运行] 错误:找不到或无法加载主类HelloWorld_第3张图片
报错!!! 检查发现代码没有语法错误也没有其他问题!

  1. 解决方案
    这里我遇到了一个非常离谱而且又很难发现的问题,尤其对于不够细心的小伙伴来说
    就是classpath环境变量的问题
    这里给出两个解决办法:
    方法1:直接把classpath环境变量删除
    方法2: CLASSPATH路径是否正确,
    正确应为.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\tools.jar
    而我在配置classpath环境变量的时候粗心,把开头的.配置成了,导致无法运行,那我们把他修改过来
    [Java编译运行] 错误:找不到或无法加载主类HelloWorld_第4张图片我们再编译执行:
    [Java编译运行] 错误:找不到或无法加载主类HelloWorld_第5张图片
    运行成功!
    希望大家在配置环境变量的时候一定要细心一点,尤其像遇到这种错误很难发现

  2. classpath介绍
    classpath:
    直译过来是类路径,是Java环境配置中要设置的一个环境变量,就是.class文件的路径,表示JVM从哪里去寻找要运行的class文件,
    例如:classpath = D:\javacode\java
    表示执行java命令时去D:\javacode\java目录中去找需要被执行的class文件并运行。你配置错了就会出现找不到.class的问题

环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。
classpath是javac编译器的一个环境变量。它的作用与import、package关键字有关。
设置Classpath的目的,在于指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的.class文件。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。

classpath是javac编译器专用的一个环境变量,作用是告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序所需要的类或者包。

参考文章

你可能感兴趣的:(开发语言,java)