java类加载不上是什么原因?java运行显示“找不到或无法加载主类”!
大家好,今天小编来为大家解答java类加载不上是什么原因这个问题,java运行显示“找不到或无法加载主类”!很多人还不知道,现在让我们一起来看看吧!
java运行显示“找不到或无法加载主类”!
该如何解决呢?解决办法如下:
1.由于是在运行阶段出现的问题,那么可能是环境变量配置不当的问题,即可能是classpath路径配置错误,而导致.class文件无法加载。那么此时你可以检查是否配置好classpath路径,一般来说classpath路径配置如下:
.;%java_home%\lib;%java_home%\lib\tools.jar;(注意前面的.以及;缺一不可)
其中.表示当前路径,;表示分隔符。
2.如果你试过了很多次,classpath也配置对了,依旧出现这个错误,注意你使用的测试代码,是否在某一个包名的下面;
比如说如下测试代码:
在文件所在的当前目录下,运行javac TestPlusPlus.java编译成功,生成TestPlusPlus.class文件,这个时
候,你用javaTestPlusPlus想运行程序,总会出现”找不到或无法加载主类“的错误。这个时候要注意,
之所以找不到,是因为TestPlusPlus在HelloWorld包名的下面。
解决办法:
1.去掉”packageHelloWorld;“重新用javac编译TestPlusPlus.java,再运行javaTestPlusPlus就可以了。
2.新建一个包名一样的文件夹,在本例中,为建立一个HelloWorld的文件夹,把TestPlusPlus.java文件移到该目录下。
然后在HelloWorld文件夹的平级下,打开DOS命令窗口,运行javacHelloWorld/TestPlusPlus.java编译程序,
运行javaHelloWorld/TestPlusPlus(或者javaHelloWorld.TestPlusPlus也可以),则可以运行含有包名的java程序。
注意:包名不要含有'.'(点),''(空格)等特殊符号,这样的话命令行无法判断包名与java程序名的分割点在哪里,
从而还是找到或者无法加载主类。
原理说明:
java程序运行class文件,对于有包名的类,java把包名当成文件夹处理."包名+类名"相当于"文件夹目录+类名"来寻找类。
java编译通过,为什么运行却提示找不到或无法加载主类
入门就遇到这样的问题,环境变量按网上说的配好了,直接java和 javac都有提示出来,说明没问题了,
做了一个简单java,放在e盘根目录下,在c:下操作javac该java文件成功了,但用java该class时却提示“找不到或无法加载主类”,忙活了半天,找了些资料,发现其实很简单,不是语句错误,是路径问题classpath的问题。
主要是以下两点要注意:
1、在classpath的最前面要加一个本目录路径,用.表示,由于后面还有java的dt和tools两个路径,所以.后要加;进行分隔表示。
2、更为重要的是,在cmd下运行javac和java的时候,必须在该java文件的目录下运行,这样生成的class也在该目录下,java的时候也会第一个就在本目录下找class文件,就不会提示找不到了。这个cmd运行路径由于一般不太注意,输入cmd就会直接到c:\个人文件夹下,而一般的java文件会用其它编写,放在选定的路径下,这两个路径很少能主动重合,一运行当然找不到了,但是javac能认到,不知为什么java就提示找不到?这点有点奇怪。网上各种解决方法里很少注意到其实就是这个小问题造成的找不到类,都想当然的以为是在java源文件路径下运行java,那当然就找不到基本问题所在了。
如果1、2都做了还是没变化,那就是该计算机改了环境变量后需要重新启动下让新的设置生效,重启下即可。
java运行显示“找不到或无法加载主类”怎么回事
第一,这个程序是没有错。\x0d\x0a第二,你的类名是“Test”,但是你的java文件名就应该是“Test.java”。\x0d\x0a第三,在运行里输入cmd敲回车建进入一个控制台的命令框,请输入javac回车查看java有没有\x0d\x0a安装好,如有问题有两种肯能:一是根本就没有安装java程序或者安装时没有正确安好,\x0d\x0a二是环境变量没有配好。\x0d\x0a第四,环境变量配置,变量名Path的值应该是:D:\Program Files\Java\jdk1.7.0\bin \x0d\x0a把这个路径放最好放到最前面用;号与其它隔开\x0d\x0a变量名CLASSPATH的值是.;就这样就可以(当然如果你要用到其它jar包就要配置)\x0d\x0a变量名JAVA_HOME的值是 D:\Program Files\Java\jdk1.7.0\x0d\x0a第五,编译和运行程序,如果你的Test.java放在D盘根目录下,在运行里输入cmd敲回车建进\x0d\x0a入一个控制台的命令窗口,敲“D:”回车,输入javac Test.java回车,再输入java Test回车。就这样搞定。\x0d\x0a最后,我上次碰到一位朋友和你遇到同样的问题,jdk版本和你用的一样,但是我没有用过1.7版本\x0d\x0a后来是他加了我的QQ通过远程连接我帮他弄好了,我发现他有这么几个问题:1.存放java的文件夹名有中文(用中文也可以,不过个人认为最好还是用英文命名文件夹名称)。2.他的path变量配置有多个java的路径,而且没有提前。也就是说:path:D:\Program Files\Java\jdk1.7.0\bin;这项放在最前面。3.因为1.7的版本我没有用过所以我叫他换成了1.6的版本(如果你需要我可以发给你) \x0d\x0a\x0d\x0a希望对你有帮助!
java运行中 找不到或无法加载类
主要是以下两点要注意:
1、在classpath的最前面要加一个本目录路径,用.表示,由于后面还有java的dt和tools两个路径,所以.后要加;进行分隔表示。
2、更为重要的是,在cmd下运行javac和java的时候,必须在该java文件的目录下运行,这样生成的class也在该目录下,java的时候也会第一个就在本目录下找class文件,就不会提示找不到了。这个cmd运行路径由于一般不太注意,输入cmd就会直接到c:\个人文件夹下,而一般的java文件会用其它软件编写,放在选定的路径下,这两个路径很少能主动重合,一运行当然找不到了,但是javac能认到,不知为什么java就提示找不到?这点有点奇怪。网上各种解决方法里很少注意到其实就是这个小问题造成的找不到类,都想当然的以为是在java源文件路径下运行java,那当然就找不到基本问题所在了。
如果1、2都做了还是没变化,那就是该计算机改了环境变量后需要重新启动下让新的设置生效,重启下即可。
解决了以上两点,就不会再提示“找不到或无法加载主类
关于java类加载不上是什么原因和java运行显示“找不到或无法加载主类”!的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。