Нужна помощь в настройке структуры пакета и проекта - PullRequest
1 голос
/ 29 мая 2010

Я новичок в Java и создаю генератор лицензий. Это мои текущие настройки.

com.example.licensegenerator.client (used by the client application)
   :LicenseLoader (no Main method)
   :LicenseDownloader (no Main method)

com.example.licensegenerator.server.keys (used by the server)
   :ProductKeyGenerator(Main method)

com.example.licensegenerator.server.license (used on the server also)
   :LicenseGenerator(Main method)

com.example.licensegenerator.lib (Shared classes between client and server)
    :Contants (no main)

Теперь у меня есть несколько вопросов.

  1. Можно ли использовать несколько методов main () в одном проекте? Смогу ли я скомпилировать их в разные файлы .jar? (В этом случае мне нужны две разные банки для сервера)

  2. Есть ли лучший способ настроить пакеты?

  3. И совершенно не связанный с этим вопрос, за исключением того, лучше ли обрабатывать их прямо тогда и там или бросать их и позволить основному методу перехватить их все (программа не может восстановиться в случае ошибки)

Ответы [ 2 ]

0 голосов
/ 29 мая 2010

Когда вы доставляете свой код (в виде JAR-файлов), вам необходимо убедиться, что вы доставляете только клиентский код клиенту. Это может означать, что лучше всего поместить это в отдельный модуль; хитрость, которую я часто использую, заключается в том, чтобы поместить общий код в общий модуль (который может быть, а может и не быть внутри нескольких пакетов), а затем иметь отдельные клиентские и серверные модули, которые зависят от общего. Такой инструмент, как Maven, делает это довольно легко.

И никогда не определяйте пакет в нескольких модулях одновременно. Это просто боль и растерянность.

0 голосов
/ 29 мая 2010

Вот ответы.

  1. Это нормально, если у вас есть несколько классов с основными методами. Нужно только указать класс, который выполняется первым при выполнении.

    java [Полное полное имя начального класса]

Также вы можете упаковать классы в несколько файлов jar. См. Структуру команды jar на

http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/jar.html

Здесь вы можете указать классы, которые вы хотите упаковать в jar.

2. Кажется, с вашей структурой пакета все в порядке, ее не нужно менять.

3. Обработка исключений зависит от контекста. Например, если это известное исключение, и если вы хотите передать сообщение пользователю, лучше обработайте его в самом классе, но если это неизвестное исключение, то бросьте его и обработайте в main, где вы можете распечатать трассировку стека. 1020 *

...