无法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> 

我有一个类似的问题,我的第一个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应该知道在哪里search类。 尝试这个:

 javac -cp . p1.java 

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

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

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

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

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

先检查你的class级名称。 它应该是你的batch file指令的p1。 然后检查你的包的类,如果它在任何包内,请指定你何时运行。

如果包是xy

 java xyp1 

这是我的工作envpathvariables在很多故障排除之后

CLASSPATH

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

PATH <—有时候这个PATH会填满太多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 )中。 然后你尝试命令并inputcd /d C:\java 。 现在你可以input“java Hello”!

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

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

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

set CLASSPATH=%CLASSPATH%;.;

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

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

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

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

这对我有效。

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

无法find或加载主类xxx Linux

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

我有

':'

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

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