我可以从同一个jar文件中执行两个不同的类吗?

Tar*_*ngh 6 java jar

我有一个项目,我在一个包中创建了Server,在第二个包中我创建了Client.它工作正常.我想创建一个Jar文件.是否可以从同一个jar文件中单独运行客户端和服务器?

我使用jar文件,其中只有一个main,当我运行jar文件时,它会自动运行该类.现在我将有2个可执行类.我想将它们打包在一个jar中,然后想要从同一个jar文件中运行它们.可能吗?任何建议,链接都会有很大帮助.

Kev*_*imm 9

简短的回答是,是的!

更长的答案是您可以在命令行中指定类,也可以将.jar放在类路径中.

假设有两个班级

A.class 
B.class
Run Code Online (Sandbox Code Playgroud)

将它们装入.jar文件中

jar cvf AB.jar A.class B.class
Run Code Online (Sandbox Code Playgroud)

他们中的任何一个

java -classpath AB.jar A
java -classpath AB.jar B
Run Code Online (Sandbox Code Playgroud)


hig*_*ted 5

假设Server和Client类都具有main方法,则可以使用以下命令从命令行执行它们:

java -cp jarFile.jar package1.Server

java -cp jarFile.jar package2.Client