Java 如何从命令行在windows上运行.class文件?
我正在尝试从命令行运行.class文件。当我手动移动到存储它的目录时,它会起作用,但当我尝试以下操作时:Java 如何从命令行在windows上运行.class文件?,java,windows,terminal,.class-file,Java,Windows,Terminal,.class File,我正在尝试从命令行运行.class文件。当我手动移动到存储它的目录时,它会起作用,但当我尝试以下操作时: java C:\Peter\Michael\Lazarus\Main 它说找不到主类。除了制作.jar文件(我知道.jar是最好的解决方案,但目前不是我正在寻找的解决方案)之外,还有其他解决方案吗?a.k.ajava.exe或干脆java)需要支持多达四种不同的方式来指定要启动的内容(取决于您使用的java版本) 指定类名是最基本的方法。请注意,类名与文件名不同 java-cp path/
java C:\Peter\Michael\Lazarus\Main
它说找不到主类。除了制作.jar文件(我知道.jar是最好的解决方案,但目前不是我正在寻找的解决方案)之外,还有其他解决方案吗?a.k.ajava.exe
或干脆java
)需要支持多达四种不同的方式来指定要启动的内容(取决于您使用的java版本)
java-cp path/to/classFiles/mypackage.Main
在这里,我们启动类mypackage.Main
,并使用-cp
开关指定用于查找类的类路径(类mypackage.Main的完整路径将是path/to/classFiles/mypackage/Main.class
)
java-jar myJar.jar
这会将jar本身和在其类路径
项上指定的任何内容放在类路径上,并启动通过主类
项指示的类。请注意,在这种情况下,您不能指定任何其他类路径项(它们将被静默忽略)
java——模块my.module
java MyMain.java
此选项对于首次使用Java进行实验非常有用,但很快就会达到极限,因为它不允许您访问在另一个源文件中定义的类(除非您单独编译它们并将它们放在类路径上,否则会破坏此方法的易用性,这意味着您在这种情况下可能应该切换回选项#1)
此功能是作为开发的,有时仍被称为
-classpath
选项(或其缩写-cp
)告诉java
在哪里查找该类:
java-classpath C:\Peter\Michael\Lazarus\Main
如果Main.java
包含全部源代码(且位于同一目录中),则可以使用选项4,跳过编译步骤,直接编译并执行:
javac:\Peter\Michael\Lazarus\Main.java
试试这个:
java -cp C:\Peter\Michael\Lazarus Main
您需要定义类路径。假设
Main.class
没有包声明:
java -cp C:\Peter\Michael\Lazarus\ Main
Java在“类路径”中查找类,该路径可以通过
-cp
选项在命令行上设置。我刚刚遇到同样的问题,我尝试运行Java hello.class
,这是错误的
命令应该是java hello
不要包含文件扩展名。它正在查找类文件,并将自己添加名称
所以运行“java hello.class
”会告诉它去寻找“hello.class.class
”文件