zoukankan      html  css  js  c++  java
  • java运行显示“找不到或无法加载主类”

    1.由于是在运行阶段出现的问题,那么可能是环境变量配置不当的问题,即可能是classpath路径配置错误,而导致.class文件无法加载。

    那么此时你可以检查是否配置好classpath路径,一般来说classpath路径配置如下:

    .;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar; (注意前面的 . 以及 ; 缺一不可)

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

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

    比如说如下测试代码:

    在文件所在的当前目录下,运行javac TestPlusPlus.java编译成功,生成TestPlusPlus.class文件,

    这个时候,你用java TestPlusPlus想运行程序,总会出现”找不到或无法加载主类“的错误。

    这个时候要注意,之所以找不到,是因为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把包名当成文件夹处理,"包名+类名"相当于"文件夹目录+类名"来寻找类。

  • 相关阅读:
    一个极好的ALV例子
    ABAP中读取文本文件(TXT DOCUMENT)并用ALV显示
    SMARTFORM报表程序设计(3)
    FOR ALL ENTRIES IN
    SMARTFORM报表程序设计(2)
    SMARTFORM报表程序设计(1)
    ABAP用FILE_OPEN_DIALOG打开多个文件后打印出名称
    LaTeX 表格的处理 [转]
    ubuntu安装deb,rpm安装包,tar.gz的方法 [转]
    OpenGL学习入门之VS2010环境配置 [转]
  • 原文地址:https://www.cnblogs.com/lihuawei/p/14478416.html
Copyright © 2011-2022 走看看