无法find或加载主类

我有Windows 7,安装了jdk1.7.0及其支持jre7。
我的问题是编译部分工作完美,但在运行Java程序时,我得到这个错误说:“无法find或加载主类”。 我将所有的程序存储在javalab文件夹中。 我已经设定了path。 过程如下所示:

 C:\用户\用户> CD \

 C:\> cd cd javalab

 C:\ javalab> AUTOEXEC.BAT

 C:\ javalab> set path = C:\ Program Files \ Java \ jdk1.7.0 \ bin

 C:\ javalab> javac p1.java

 C:\ javalab> java p1
错误:无法find或加载主类p1

 C:\ javalab> 

Solutions Collecting From Web of "无法find或加载主类"

我有一个类似的问题,我的第一个Java程序。

我正在发布这个命令

 java HelloWorld.class 

导致相同的错误。

原来你需要排除.class

 java HelloWorld 

尝试:

 java -cp . p1 

当我遇到同样的问题时,使用Fedora(linux)

编译和执行java文件的简单方法(HelloWorld.java不包含任何包)

 set path="C:\Program Files (x86)\Java\jdk1.7.0_45\bin" javac "HelloWorld.java" java -cp . HelloWorld pause 

javac应该知道在哪里搜索类。 尝试这个:

 javac -cp . p1.java 

你不需要指定类路径。 你确定文件p1.java存在吗?

我有几乎相同的问题,但有以下变化:

  1. 我已经将一个随时可用的Maven项目从PC1导入到Eclipse IDE中(项目在那里完美地工作)到另一个PC2
  2. 当试图运行在PC 2上的项目得到了同样的错误“无法找到或加载主类”
  3. 我已经检查了PATH变量(在我的例子中有很多值),并添加了JAVA_HOME变量(在我的情况下是JAVA_HOME = C:\ Program Files \ Java \ jdk1.7.0_03)重启Ecplise后,它仍然没有工作
  4. 我试图在PC2上运行简单的HelloWorld.java(在另一个项目中) – 它工作
  5. 所以我添加了HelloWorld类到最近导入的项目中,并在那里执行,呵呵 – 我的主类也开始正常运行。

这是很奇怪的行为,我不能完全理解它。 希望它会帮助别人。 太。

我想你在p1.java有一个不同的类名

先检查你的班级名称。 它应该是你的批处理文件指令的p1。 然后检查你的包的类,如果它在任何包内,请指定你何时运行。

如果包是xy

 java xyp1 

这是我的工作env路径变量在很多故障排除之后

CLASSPATH

。; C:\ Program Files(x86)\ Java \ jre7 \ lib \ ext \ QTJava.zip; C:\ Program Files(x86)\ Java \ jdk1.6.0_27 \ bin

PATH <—有时候这个PATH会填满太多路径,而且你不能添加路径(这是我的情况!)

bunchofpaths; C:\ Program Files(x86)\ Java \ jdk1.6.0_27 \ bin

此外,当您尝试使用cmd来执行该文件时…请确保您在本地目录中作为您尝试执行的文件(您所做的)。

只是一个有这个问题的人仍然是一个清单。

我有类似的问题。 如果你使用Eclipse,你需要到你有src /文件夹的文件夹…如果你使用了一个包 – 那么你使用

 javac -cp . packageName/className 

这意味着如果你有一个名为def的包,并且你的主要类名是TextFrame.java

 javac -cp . def/TextFrame 

省略后缀.java扩展名,然后使用该扩展名运行它

 java def/TextFrame 

如果你有参数,那么你需要提供与你的程序相对应的参数。 我希望这个能有一点帮助。

首先,把你的文件*.class (例如Hello.class )放到1个文件夹(例如C:\java )中。 然后你尝试命令并输入cd /d C:\java 现在你可以输入“java Hello”!

您可能已经添加了CLASSPATH环境变量!

使用以下来避免进一步使用-cp . java -cp . CLASSFILE java -cp . CLASSFILE

添加。 在系统属性 – >环境变量或通过cmd CLASSPATH

set CLASSPATH=%CLASSPATH%;.;

在Eclipse中我遇到了类似的问题。 每当我点击运行按钮,它给了我的消息,“错误:无法找到或加载主类”。 但是,当我右键单击项目浏览器中的Java文件和运行为Java配置,它完美的工作。

我认为这是因为它默认情况下会尝试在其他导致问题的配置中运行它。

希望这个答案有助于一些。

如果你有一个单独的.java文件需要使用命令行编译,那么从代码中移除最上面的软件包部分,重新​​编译就可以了。

这对我有效。

有时可能导致这个问题与主要课程无关。 我不得不艰难地找到这一点,这是一个引用的图书馆,我感动,它给了我:

无法找到或加载主类xxx Linux

我只是删除该引用,并再次添加,它再次正常工作。

我有

':'

在我的项目名称中,例如'HKUSTx:part-2'重命名为'HKUSTx-part-2'

您可以使用免费下载和使用“开源”的NetBeans IDE 。 您甚至可以在此IDE中执行其他编程语言。 它最新支持HTML5。 这使您的编程更容易。 如果您不熟悉它,请选择一本NetBeans集成的书,例如“ Sams Teach Yourself Java in 24 Hours”