Java命令行无法找到或加载主类

时间:2016-02-17 04:48:35

标签: java eclipse bash

我一直在尝试从命令行运行任何.class文件,并且我一直收到此错误。在我整晚试图解决问题后,我正式感到难过。

我在linux上,我经常使用eclipse,所以我的.java文件和.class文件位于两个不同的位置。

Heres classpath ....

%> echo $CLASSPATH
/home/mike/Documents/java

这是我的一个.class目录...

/home/mike/Documents/java/homework/bin/src

继承了相应的.java目录......

/home/mike/Documents/java/homework/src/src

这是我在bash中输入的内容......

[ mike (23:31:16): ~] $ >java homework.bin.src.EulerMath

OR

[ mike (23:32:41): ~/Documents/java] $ >java -cp . homework.bin.src.EulerMath

OR

[ mike (23:34:08): ~/Documents/java/homework/bin/src] $ >java -cp . EulerMath

所有人都给我同样的错误。显然我试图运行EulerMath.class,它位于包src中。这在eclipse中编译并运行良好,我尝试从命令行运行的每个其他程序都有类似的问题。我可以使用javac编译.java文件但是在尝试运行新的.class文件时,我收到此错误。我很感激任何帮助

2 个答案:

答案 0 :(得分:0)

修改您的CLASSPATH

export CLASSPATH="$HOME/Documents/java/homework/bin"

然后你可以在没有-cp命令行的情况下运行它,如

java src.EulerMath

不设置CLASSPATH(或者如果要覆盖集合CLASSPATH),您可以

java -cp $HOME/Documents/java/homework/bin src.EulerMath

但是src.EulerMath是你班级的名字。或者,您可以将其打包在包含一些元信息的jar文件中(基本上是Main-Class)并使用java -jar <jarfile.jar>

运行它

答案 1 :(得分:0)

我设法找到了这个班级(注意:还没有运行它,我得到了一个新的错误,但这是一个不同的故事)。希望这有助于其他人

在这些步骤的某个地方,它自行修复:

  • 确保CLASSPATH正确
  • 安装javac
  • 在文件中使用javac
  • 重新启动计算机

现在应该工作