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

时间:2010-11-30 01:49:10

标签: java jar

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

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

2 个答案:

答案 0 :(得分:9)

简短的回答是,是的!

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

假设有两个班级

A.class 
B.class

将它们装入.jar文件

jar cvf AB.jar A.class B.class

运行其中任何一个

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

答案 1 :(得分:4)

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

java -cp jarFile.jar package1.Server

java -cp jarFile.jar package2.Client