我正在尝试从命令行运行.class文件。它在我手动移动到它存储的目录时起作用,但是当我尝试这样的事情时:
java C:\Peter\Michael\Lazarus\Main
它说它无法找到主类。除了制作.jar文件之外,还有其他解决办法吗(我知道.jar是最好的解决方案,但此时此刻并不是我正在寻找的那个)?
答案 0 :(得分:29)
Java application launcher(又名java.exe
或简称java
)需要类名作为参数,因此您无法为其传递文件名(特别是不包含目录的那个。
您可以使用-classpath
选项(或其简短形式-cp
)告诉它在哪里查找该类但是:
java -classpath C:\Peter\Michael\Lazarus\ Main
答案 1 :(得分:10)
假设Main.class
没有包声明:
java -cp C:\Peter\Michael\Lazarus\ Main
Java在“类路径”中查找类,可以通过-cp
选项在命令行上设置。
答案 2 :(得分:6)
我遇到了同样的问题,我尝试运行java hello.class
,这是错误的。
该命令应为 java hello
。
不要包含文件扩展名。它正在寻找一个类文件,并将自己添加名称。
因此,运行“java hello.class
”会告诉它去寻找“hello.class.class
”文件。
答案 3 :(得分:3)
试试这个:
java -cp C:\Peter\Michael\Lazarus Main
您需要定义类路径。