Создать банку для Java-приложения RMI - PullRequest
0 голосов
/ 20 ноября 2010

Итак, я сделал простое Java-RMI-приложение в Eclipse, используя плагин genady. Он отлично работает в этой среде, но было бы неплохо, если бы он мог работать и вне Eclipse.

В Eclipse, чтобы запустить его, я сначала запускаю реестр RMI. Затем я включаю создание заглушек для сервера. Затем я запускаю сервер как приложение RMI, а также позволяю Eclipse автоматически генерировать параметр codebase. Наконец, я запускаю клиент также как приложение RMI, добавляя политику безопасности параметров (просто позвольте eclipse создать ее для меня).

Так что все довольно просто.

Структура моего проекта следующая: у меня есть 3 отдельных проекта Java:

1) rmi common

2) rmi сервер

3) клиент RMI

И сервер, и клиент зависят от общего проекта (укажите его в пути сборки).

В общем проекте у меня есть описание удаленного интерфейса (в основном методы, которые клиент может вызвать с сервера), а также класс, который используется в качестве параметра для одного из методов интерфейса.

Сервер довольно прост на самом деле .. расширяет UnicastRemoteObject и реализует интерфейс. Просто получает реестр и связывает себя.

Клиент тоже не очень сложный. Устанавливает менеджер безопасности (новый менеджер безопасности RMI) и ищет сервер. Также у него есть класс пользовательского интерфейса, но это не так важно.

Поэтому мне интересно, как создавать исполняемые файлы JAR на клиенте и сервере. В идеале я хотел бы запустить реестр из командной строки, затем запустить сервер из CL и, наконец, таким же образом клиент.

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

Буду очень признателен, если кто-нибудь подскажет, как экспортировать этот проект из затмения, чтобы его можно было запустить из командной строки.

1 Ответ

0 голосов
/ 20 ноября 2010

Это банки, а не банки.Вам понадобится один для клиента, а другой для сервера.Общий интерфейс должен быть в обоих.

Если они у вас есть, вы, безусловно, можете развернуть и запустить их в любом месте.

Если Eclipse мешает, сбросьте его.Просто создайте JAR-файлы с правильными файлами манифеста вручную.

...