Поделиться сущностями между мульти-проектами - PullRequest
2 голосов
/ 23 марта 2012

У меня есть 3 проекта Java с одинаковыми объектами.

Я хочу разделить сущности между этими проектами, потому что сущности могут развиваться на этапе разработки.

Мы думаем о том, чтобы создать банку с сущностями и поделиться ею с помощью Maven (с хранилищем).

Может быть, у вас есть другое решение?

Ответы [ 5 ]

2 голосов
/ 23 марта 2012

Я также могу порекомендовать использовать Maven для обмена кодом между проектами.

Вот несколько советов для начала:

  • Используйте диспетчер репозитория Maven, например Nexus.Это поможет вам создать стабильную среду разработки.
  • Каждый разработчик (также пользователь Continuous Integration Server) должен настроить свой файл настроек для использования диспетчера репозитория Maven.Не указывайте свои репозитории в POM, настраивайте их только в вашем Maven Repository Manager.http://www.sonatype.com/books/nexus-book/reference/maven-sect-single-group.html
  • Используйте элементы dependencyManagement и pluginManagement ваших родительских POM для указания всех версий подключаемых модулей и зависимостей, которые вы используете.Пропустите эти версии в других POM (они будут наследовать их от родительского POM).
  • Я также рекомендую использовать разные POM для многомодульных сборок и родительских POM.
1 голос
/ 23 марта 2012

создание собственной JAR-библиотеки - определенно хорошее решение.

  • Jar-файл легко распространить с помощью управления зависимостями (maven, ivy, gradle ..)
  • Баночка версионная
  • Проекты, использующие библиотеку, могут быть проверены на определенную версию. В противном случае это может стать проблемой, если вы измените все и забудете изменить соответствующий проект. -> интеграционные тесты

Привет

1 голос
/ 23 марта 2012

Если вы хотите поделиться общими интерфейсами, классами, функциями или компонентами, Maven - это то, что вам нужно. В дополнение к управлению зависимостями вы также получаете дополнительный бонус стандартного макета проекта, который упростит вещи. Простая интеграция с большинством распространенных серверов непрерывной интеграции и стандартный процесс выпуска являются дополнительными преимуществами.

Обязательно взгляните на Maven!

0 голосов
/ 08 мая 2013

Создайте стандартный файл war в roo .. Но затем измените его пакет на файл jar.

Затем из любого стандартного файла war вы можете просто развернуть этот jar (я буду использовать jar как зависимость maven).Я буду поддерживать уникальный названный applicationConext, такой как pizzaShop-applicationContext.xml и как pizzaShop-applicationContext-jpa.xml.поэтому из родительского весеннего проекта я могу таким же образом составлять различные проекты roo.

Я также сохраню их сгенерированную папку webapps, чтобы позволить генератору работать более легко.(Это означает, что я должен открыть файл pom.xml и снова изменить его на jar).Также помогает с вырезанием и вставкой фуража для добавленных в roo файлов войны. Добавлены записи web.xml.

Похоже, что это может сбивать с толку насчет roo. Вы можете просто смешивать и сочетать эти банки, как и в любую весну.проект.Они функционируют как автономные единицы упругости и прекрасно работают рядом с другими пружинными банками в одном контексте webapp / web.xml.

Это утомительно, но все же лучше, чем писать код пружины вручную.

0 голосов
/ 23 марта 2012

Сущности - это представление данного объекта, я прав? Если это так, то механизмом по умолчанию, реализованным в Java, является сериализация объектов - http://en.wikipedia.org/wiki/Serialization. В случае файлов JAR, если сущность изменяется, вам также придется каждый раз менять JAR. Это может быть утомительно.

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