如何使用cmd中的多个类运行java程序?

时间:2013-12-04 02:47:35

标签: java cmd

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

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

主要类和客户端处理程序必须首先运行以便用户1和...用户2要运行,因为它们是客户端类并且依赖于主类。

6 个答案:

答案 0 :(得分:14)

javac *.java // compliles all java files in the dir

java MyClass // runs the particular file

如果一个类依赖于尚未编译的另一个类,则该程序将无法运行。所以你应该在尝试运行依赖于其他文件的程序之前编译所有文件。

如果你的文件是打包的,那就是这样的

javac com.mypackage/.*java

java com.mypackage.MyClass

答案 1 :(得分:3)

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

java -cp . com.myprogram.MyProgram

你描述的那个命令并不重要。它们都汇编在一起,MyProgram将引用Server1等等。

答案 2 :(得分:2)

现在可能需要解决的问题可能更多,但您可能需要考虑像Maven这样的构建系统。开始尝试; How do I make my first Maven project?

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

答案 3 :(得分:2)

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

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

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

从Oracle官方网站

查看this

答案 4 :(得分:0)

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

答案 5 :(得分:0)

执行两个相互依赖的JAVA程序。 (例如:两个文件Complex.java和Solution.java,其中Soultion.java依赖于Complex.java。 因此,应首先编译Complex.java,然后必须将Complex的类文件与Solution.java链接,然后必须为Output执行Solution.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是Linked.ie-Solution.java调用Complex.java)

第2步:

COMPILE Solution.java

使用链接Complex.class编译Solution.java 链接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中创建) enter image description here

相关问题