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

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

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

简短的回答是,是的!

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

假设有两个class级

A.class B.class 

将它们装入.jar文件中

 jar cvf AB.jar A.class B.class 

运行其中任何一个

 java -classpath AB.jar A java -classpath AB.jar B 

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

java -cp jarFile.jar package1.Server

java -cp jarFile.jar package2.Client