Могу ли я выполнить два разных класса из одного файла JAR? - PullRequest
6 голосов
/ 30 ноября 2010

У меня есть проект, в котором в одном пакете я сделал Сервер, а во втором - Клиент. Работает нормально. Я хочу создать файл Jar. Можно ли запускать клиент и сервер отдельно из одного файла JAR?

Я использовал файл jar, где есть только один основной файл, и когда я запускаю файл jar, он автоматически запускает этот класс. Теперь здесь у меня будет 2 исполняемых класса. Я хочу упаковать их только в одну банку, а затем запустить оба из этого файла. Является ли это возможным? Любые предложения, ссылки будут очень полезны.

Ответы [ 2 ]

9 голосов
/ 30 ноября 2010

Короткий ответ: ДА!

Более длинный ответ заключается в том, что вы можете указать класс в командной строке, а также поместить .jar в classpath.

Предположим, два класса

A.class 
B.class

jar их в файл .jar

jar cvf AB.jar A.class B.class

запустить любой из них

java -classpath AB.jar A
java -classpath AB.jar B
4 голосов
/ 30 ноября 2010

Предполагая, что и у вашего Сервера, и у класса Клиента есть методы main, вы можете выполнить их из командной строки, используя следующее:

java -cp jarFile.jar package1.Server

java -cp jarFile.jar package2.Client

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...