如何运行来自cmd的多个类的java程序?
目前,我正在寻找另一种从命令行运行Java程序的方法,而不是将其添加到JAR文件中。我的程序有以下数量的类:
程序文件的名称 - MyProgram
主类 - Server1
第二类 - 客户端处理程序
包名称 - 项目
3rd 类 - 用户 1
第 4 类 - 用户 2
主类和客户端处理程序以及包必须首先运行,以便用户 1 和用户 2 运行,因为它们是客户端类并且依赖于主类。
目前,我正在寻找另一种从命令行运行Java程序的方法,而不是将其添加到JAR文件中。我的程序有以下数量的类:
程序文件的名称 - MyProgram
主类 - Server1
第二类 - 客户端处理程序
包名称 - 项目
3rd 类 - 用户 1
第 4 类 - 用户 2
主类和客户端处理程序以及包必须首先运行,以便用户 1 和用户 2 运行,因为它们是客户端类并且依赖于主类。
javac *.java // compliles all java files in the dir
java MyClass // runs the particular file
如果一个类依赖于另一个尚未编译的类,则该程序将不会运行。因此,您应该在尝试运行依赖于其他文件的程序之前编译所有文件。
如果你的文件是打包的,那么类似这样的东西
javac com.mypackage/.*java
java com.mypackage.MyClass
必须确保将.class文件的位置添加到类路径中。因此,如果它在当前文件夹中,则添加.到类路径。请注意,窗口类路径分隔符是分号,即 ;
javac -cp . PackageName/*.java
java -cp . PackageName/ClassName_Having_main
示例。假设您有以下情况
软件包命名:com.test
类名:你好(有主)
Java 文件位于 “src/com/test/Hello.java”
然后,从外部目录:
$ cd src
$ javac -cp . com/test/*.java
$ java -cp . com/test/Hello
请注意,您可以在编译时添加 -d 以指定类文件的输出目录
$ javac -d output_directory -cp . com/test/Hello
在窗口中,同样的事情也会起作用,我已经尝试过了
从甲骨文官方网站查看此内容