java运行显示“找不到或无法加载主类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java运行显示“找不到或无法加载主类相关的知识,希望对你有一定的参考价值。

第一次安装java,用记事本编写的java文件,

/一个简单的应用程序//

public class firsthelloworldapp

public static void main (String args [])

System.out.println ("firsthelloworldapp!");


用JAVAC编译通过并生成了class文件,
用java 运行时提示找不到或无法加载主类,
网上查了下说基本是环境配置的事情,我改了若干次,故障依旧,请大大门指点

操作系统:win7-32旗舰
环境变量:class .%java_home%\lib;%java_home%\lib\tools.jar
classpath .;%java_home%\lib;%java_home%lib\dt.jar;%java_home%\lib\tools.jar
java_home d:\java\jdk_7u67
path D:\java\jdk_7u67\bin;D:\java\jdk_7u67\jre\bin;c:\windows\system;c:\windows\system32
系统变量: CLASSPATH .;D:\java\jdk_7u67\lib\tools.jar;D:\java\jdk_7u67\lib\rt.jar;d:\java\javadir

参考技术A

我的设置很简单:

用户变量:

JAVA_HOME:C:\\Program Files\\Java\\jdk1.7.0_25

系统变量:

PATH:C:\\Program Files\\Java\\jdk1.7.0_25\\bin

追问


问题依旧,是我有什么没装么,我只装了jdk-7u67-windows-i586.exe

追答

你命令错了啊,你看我的截图,后面没.java的

java 类名来执行,不是文件名

追问

通过了,声明的类名和文件名要求完全一致,区分大小写,是不是还要求首字大写呀,首字改成大写后就通过了

追答

类名和文件名需要一致。类名按照规范是大写,你小写是可以运行的。如果是Eclipse,会出现提示,让你改大写

本回答被提问者采纳
参考技术B 回答

你好

1.首先我们先建一个java文件,写入如下图所示的代码2.接着打开CMD命令界面,用javac命令编译一下java文件3.接着用java命令执行一下编译后的内容,这个时候就报出了找不到或无法加载主类这个问题4.接下来我们将代码中的顶部package内容去掉,如下图所示5.在重新编译执行代码,这个时候就通过了,如下图所示6.最后你还可以将package包创建出来,将java文件放进去也可以

提问

没看懂,我cmd java可以运行, javac报错找不到或无法加载主类

回答

javac编译成功,但是用Java运行class文件出现“找不到或无法加载主类” 的问题吗

最容易因为大意出错的地方就是你java后面加了.class后缀原因是你java后tab键是默认给你加后缀的,所以建议最先检查下:(1)javac后文件加后缀.java例如 javac main.java(2)java后不加后缀.class 例如 Java main

在classpath的最前面要加一个本目录路径,用.表示,由于后面还有java的dt和tools两个路径,所以.后要加;进行分隔表示。例如:.;D:\\Java\\jdk1.8.0_11\\lib\\tools.jar;D:\\Java\\jdk1.8.0_11\\lib\\dt.jar 特别注意路径最前面的>>>>>.;<<<<<<即加粗部分其他也就是path和JAVA_HOME设置:JAVA_HOME:D:\\Java\\jdk1.8.0_11;Path:%JAVA_HOME%\\bin;%JAVA_HOME%\\jre\\bin;(注:设了JAVA_HOME后,CLASSPATH可以改成:对照上例:.;%JAVA_HOME%\\lib \\tools.jar;%JAVA_HOME%\\lib\\tools.jar)

在cmd下运行javac 和java的时候,必须在该java文件的目录下运行,这样生成的class也在该目录下,java的时候也会第一个就在本目录下找class文件,就不会提示找不到了。这个cmd运行路径由于一般不太注意,输入cmd就会直接到c:\\个人文件夹下,而一般的java文件会用其它软件编写,放在选定的路径下,这两个路径很少能主动重合,一运行当然找不到了,但是javac能认到,不知为什么java就提示找不到?这点有点奇怪。网上各种解决方法里很少注意到其实就是这个小问题造成的找不到类,都想当然的以为是在java源文件路径下运行java,那当然就找不到基本问题所在了。

如果1、2、3都做了还是没变化,那就是该计算机改了环境变量后需要重新启动下让新的设置生效,重启下即可。

参考技术C 应该还是环境变量的问题,看看你的path和classpath是否是正确的,最可能的错误是classpath中少了前面少了.;追问

是。;吧,我添加了

错误:找不到或无法加载主类 Test.java

这是测试出现的问题。

这分别是classpath及path的变量值
Test.java的路径是E:\javawork\lesson1
求解答

参考技术A 在第5行后面加下;号就OK了,还有要先运行javac编译出class文件,然后才用java命令运行 参考技术B 错误的是你的代码第五行个分号;本回答被提问者采纳 参考技术C 在代码第五行加上分号,
javac Test.java
java Test

以上是关于java运行显示“找不到或无法加载主类的主要内容,如果未能解决你的问题,请参考以下文章

运行java文件显示找不到或无法加载主类怎么解决?

java 执行dos命令 中文显示乱码 怎么解决

Netbeans 显示正在运行而不实际打开 Java 应用程序窗口

运行时未显示Java字符串[重复]

java运行显示“找不到或无法加载主类

java运行显示“找不到或无法加载主类”怎么回事?