Я создал приложение Appstart (https://github.com/omerio/appstart), основанное на мультимодульном приложении App Engine, которое демонстрирует использование таких технологий, как Guice, Jersey, Objectify, Cloud EndPoints и имеет 3 модуля модуля fronend, базового модуля и общего модуля который включает в себя все общие классы, включая модель, которые должны показать вам пример того, как управлять общим кодом. Папка содержит следующие модули/Maven проектов
- AppStart-бэкенд
- AppStart-общий
- AppStart уха
- AppStart-интерфейс
Модуль бэкенд только содержит код, необходимый для бэкэнд, внешний интерфейс содержит код интерфейса, а общий модуль содержит общий код. Проекты устанавливаются внутри родительской папки «appstart» с родительским maven POM. Общий модуль включен в обеих внешних интерфейсе и бэкенд с использованием Maven зависимостей:
<!-- Common module dependency -->
<dependency>
<groupId>uk.co.inetria.appstart</groupId>
<artifactId>appstart-common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
При изменении общего кода вы можете запустить MVN чистыми затем установить из каталога AppStart уха, и он должен обновить все зависимые проекты. Я надеюсь, что это поможет
Но каждый раз, когда я менял какую-то строку в этом общем коде, мне нужно снова собрать jar и добавить в разные модули по отдельности. – yogesh
Да, это правда. Я полагаю, что другой вариант заключается в том, чтобы поместить общий код в отдельный исходный каталог, который различные модули включают в свои исходные пути. –
Пожалуйста, проголосуйте за эту проблему, чтобы ее можно было исправить: Плагин GAE WTP Eclipse не поддерживает проекты с общей ссылкой (общий код): https://code.google.com/p/googleappengine/issues/detail?id=10652 – Andre