• 技术文章 >Java >Java基础

    找不到或无法加载主类怎么办

    醉折花枝作酒筹醉折花枝作酒筹2021-06-21 10:41:57原创4797

    解决方法:1、classpath路径配置错误,而导致class文件无法加载,可以重新配置classpath路径;2、使用的测试代码不在同一个包下,可以将代码放在同一个包下面。

    本教程操作环境:windows7系统、Dell G3电脑、java10版本。

    该如何解决呢?解决办法如下:

    1、由于是在运行阶段出现的问题,那么可能是环境变量配置不当的问题,即可能是classpath路径配置错误,而导致.class文件无法加载。那么此时你可以检查是否配置好classpath路径,一般来说classpath路径配置如下:

    .;%java_home%\lib;%java_home%\lib\tools.jar; (注意前面的 . 以及 ; 缺一不可)

    其中.表示当前路径,;表示分隔符。

    2、如果你试过了很多次,classpath也配置对了,依旧出现这个错误,注意你使用的测试代码,是否在某一个包名的下面;

    比如说如下测试代码:

    ]QB~XAO2QF6I81MUB_G)N47.jpg

    在文件所在的当前目录下,运行javac TestPlusPlus.java编译成功,生成TestPlusPlus.class文件,这个时候,你用javaTestPlusPlus想运行程序,总会出现”找不到或无法加载主类“的错误。这个时候要注意,之所以找不到,是因为TestPlusPlus在HelloWorld包名的下面。

    解决办法:

    1、去掉 ”package HelloWorld;“ 重新用javac 编译TestPlusPlus.java,再运行javaTestPlusPlus就可以了。

    2、新建一个包名一样的文件夹,在本例中,为建立一个HelloWorld的文件夹,把TestPlusPlus.java文件移到该目录下。

    然后在HelloWorld文件夹的平级下,打开DOS命令窗口,运行javacHelloWorld/TestPlusPlus.java编译程序,运行javaHelloWorld/TestPlusPlus(或者javaHelloWorld.TestPlusPlus也可以),则可以运行含有包名的java程序。

    注意:包名不要含有'.'(点),' '(空格)等特殊符号,这样的话命令行无法判断包名与java程序名的分割点在哪里,从而还是找到或者无法加载主类。

    原理说明:

    java程序运行class文件,对于有包名的类,java把包名当成文件夹处理."包名+类名"相当于"文件夹目录+类名"来寻找类。

    相关视频教程推荐:Java视频教程

    以上就是找不到或无法加载主类怎么办的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:java
    上一篇:如何理解springboot框架 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • JVM深入学习-Java解析Class文件过程的示例代码• java虚拟机之class文件结构介绍• java .class文件怎么看?• 怎么编译java为class文件• 怎么将class文件反编译成java文件• java随机数random怎么用• PHP如何实现JAVA枚举功能
    1/1

    PHP中文网