目前我正在寻找另一种从命令行运行我的Java程序的方法,而不是将其添加到JAR文件中.我的程序有以下几个类:
程序文件的名称 - MyProgram
Main class - Server1
第二类 - Client Handler
包名 - Items
第3类 - User1
第4类 - User2
包中的主类和客户端处理程序必须首先运行才能运行用户1和用户2,因为它们是客户端类并且依赖于主类.
Pau*_*tha 19
javac *.java // compliles all java files in the dir
java MyClass // runs the particular file
Run Code Online (Sandbox Code Playgroud)
如果一个类依赖于尚未编译的另一个类,则该程序将不会运行.所以你应该在尝试运行依赖于其他文件的程序之前编译所有文件.
如果您的文件是打包的,那么就是这样的
javac com.mypackage/.*java
java com.mypackage.MyClass
Run Code Online (Sandbox Code Playgroud)
Muh*_*man 10
您必须确保将 .class 文件的位置添加到类路径中。因此,如果它在当前文件夹中,则添加 . 到您的类路径。请注意,windows 类路径分隔符是一个分号 ie ;
javac -cp . PackageName/*.java
java -cp . PackageName/ClassName_Having_main
Run Code Online (Sandbox Code Playgroud)
例子。假设你有以下
包名称:com.test
班级名称:你好(有主)
Java 文件位于“src/com/test/Hello.java”中
然后,从外部目录:
$ cd src
$ javac -cp . com/test/*.java
$ java -cp . com/test/Hello
Run Code Online (Sandbox Code Playgroud)
请注意,您可以在编译时添加 -d 以指定类文件的输出目录
$ javac -d output_directory -cp . com/test/Hello
Run Code Online (Sandbox Code Playgroud)
在 Windows 中,同样的事情也会起作用,我已经尝试过了
从 Oracle 官方网站查看此内容
一旦你编译了你的代码,你就可以从顶层运行它:
java -cp . com.myprogram.MyProgram
Run Code Online (Sandbox Code Playgroud)
你描述的那个顺序无关紧要。它们都被编译在一起,MyProgram并将引用Server1等。
| 归档时间: |
|
| 查看次数: |
55434 次 |
| 最近记录: |