Я пишу клиентское и серверное приложение. Сейчас я только что разработал его самостоятельно, поэтому я написал его как один проект Eclipse, организованный в пакеты Java (org.myorg.server, org.myorg.client, org.myorg.networksystem и т. Д.). Проект развертывается в один файл JAR. Затем клиент - это апплет, поэтому я просто указываю параметр applet code на org.myorg.client.ClientApplet внутри файла jar, тогда как при запуске сервера это приложение командной строки, и я просто бежать:
java -jar MyJar.jar
org.myorg.server.ServerApplication
Ну, мне нужно очистить его структуру и улучшить процесс сборки. Я также хочу отделить файлы jar, чтобы у пользователя не было доступа к копии сервера, встроенной прямо в файл jar, как сейчас.
Я хочу использовать сервер непрерывной интеграции, такой как CruiseControl . Было бы здорово, если бы мне нужно было просто проверить свой код в репозитории SVN; затем сервер CruiseControl соберет код, скомпилирует его и упакует в отдельные jar-файлы, затем развернет jar-сервер на моем выделенном сервере и запустит его, а также развернет клиентский jar-файл на моем веб-сервере для обновления апплета. *
Я могу понять, CruiseControl. Моя текущая проблема заключается в том, как отделить код. Он красиво разделен на клиентские и серверные пакеты, но есть и общие пакеты, такие как сетевой протокол. Должен ли я разделить свой проект на 3 проекта для клиента, сервера и общего? Должен ли я сделать что-то еще? Я собирался написать файлы сборки Ant вручную, но мне бы очень хотелось остаться в Eclipse.
Как мне лучше организовать свой код для достижения этих целей?
(кстати, извините, если этот вопрос сбивает с толку, я думаю, что мне трудно выразить словами все различные вопросы, кружащиеся вокруг моей головы)