如何从cmd运行多个类的java程序?

目前我正在寻找另一种从命令行运行我的Java程序的方法,而不是将其添加到JAR文件中。 我的程序有以下几个类:

程序文件的名称 – MyProgram
主类 – Server1
第二类 – 客户端处理程序
包名称 – 项目
第3类 – User1
第4课 – User2

包中的主类和客户端处理程序必须首先运行才能运行用户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 

编译代码后,从顶层运行:

 java -cp . com.myprogram.MyProgram 

你描述的那个订单并不重要。 它们都被编译在一起, MyProgram将引用Server1等。

你现在可能想要解决的问题可能更多,但你可能想要考虑像Maven这样的构建系统。 开始尝试; 我如何制作我的第一个Maven项目?

您可以使用它来预定义构建顺序,如果您想让它为您创建一个jar(或不是)。

您必须确保将.class文件的位置添加到类路径中。 所以,如果它在当前文件夹中然后添加。 到你的类路径。 注意,windows类路径分隔符是一个分号ie;

 javac -cp . PackageName/*.java java -cp . PackageName/ClassName_Having_main 

例子 。 假设您有以下内容

  • 包装名称:com.test

  • class级名称:你好(有主)

  • 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 

在Windows中,同样的事情也会起作用,我已经尝试过了

从Oracle官方网站上查看

听起来你只需要打开多个命令提示符,然后按照运行它们的顺序编译和运行它们。 如果我误解了问题,请告诉我。

执行两个相互依赖的JAVA程序。 (例如:两个文件Complex.java和Solution.java,其中Soultion.java依赖于Complex.java。因此应首先编译Complex.java,然后Complex的类文件必须与Solution.java链接,然后解决方案。必须为输出执行class。)使用SYNTAX重新显示图像。

步骤1:

COMPILE Complex.java

编译Complex.java

syntax-javac -d [path_where_class_File_build] [path_of_the_file \ filename.java]

(Solution.java和Complex.java是链接的.ie-Solution.java调用Complex.java)

第2步:

COMPILE Solution.java

编译Solution.java,链接Complex.class并链接Complex.class(上面在步骤1中创建)

syntax-javac -d [path_where_class_File_build] -cp [path_of_the_first_class_created] [path_of_the_file \ filename.java]]

第3步:

执行Solution.class

java -cp [path_of_second_class_created] [class_Name]

(在步骤3中创建) 在此处输入图像描述