我一直在尝试从命令行运行任何.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文件时,我收到此错误。我很感激任何帮助
答案 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)
我设法找到了这个班级(注意:还没有运行它,我得到了一个新的错误,但这是一个不同的故事)。希望这有助于其他人
在这些步骤的某个地方,它自行修复:
现在应该工作