2013-01-10 144 views
0

我刚刚使用> javac -classpath src/foo src/foo/bar.java从命令行编译了一个类,它工作正常。但是,当我尝试运行> java -classpath bin/foo bin/foo/bar时,出现错误Error: Could not find or load main class bin/foo/bar。任何想法是什么导致这个错误?Java编译错误:无法找到或加载主文件

+0

.class文件实际位于该位置吗? – Krease

回答

3

您需要提供类名,而不是文件名。所以,你想:

java -classpath bin foo.bar 

(或类似的东西它不是从你的样品清楚你会如何结束了在bin目录,而不是src的类文件,因为你不使用-d的一部分的javac命令行...)

+0

啊,那是我愚蠢的错误。我之前使用过Eclipse,它会自动将'.class'文件放入'.bin'文件夹中。现在我已经手动将'.class'文件移动到'.bin'文件夹中,我该怎么办? –

+0

@Adam_G:按照答案中的说明 - 指定类文件层次结构的根目录和完全限定的类名。请注意,类文件应位于与包层次结构相匹配的文件夹层次结构中(例如,如果类“bar”位于“x.y”包中,它应该位于文件夹“x/y”中)。 –

相关问题