Я перемещаю приложение из репозитория svn, который он разделяет с кучей других вещей в свой собственный, совершенно новый. Итак, у меня есть шанс начать новый макет.Как мне разместить мой репозиторий?
Приложение само по себе имеет два компонента - разумно стандартный Java webapp, который ведет переговоры с базой данных, а также компонент backend, а также Java, который опроса db и запускает длительные задачи обработки на основе того, что он находит - по существу, БД используется в качестве очереди. Код разбит на три пакета:
org.blah.common
- код, такие как DAO,, что является общим для веб-приложений и задней частиorg.blah.webapp
- веб-приложение; это зависит отorg.blah.common
и выстраивается в файл.war
.org.blah.backend
- Обратный процесс; это зависит отorg.blah.common
и выстраивается в файл tar, содержащий банку и некоторые скрипты.
Я также хотел бы получить другие биты конфигурации tomcat и apache в svn.
Прямо сейчас все три пакета находятся в svn под каталогом src
, и есть сценарий муравья с разными целями, которые создают разные части. Все это немного скучно - свойство svn: ignore получило довольно большое значение, и сразу не видно, что сценарии в одном каталоге связаны с кодом в некотором пакете ниже src
, а в другом - для запуска и остановки tomcat.
Я нарисован на maven standard directory layout, но я не использовал его раньше. Я придумал это:
common/
src/
main/
java/
resources/
test/
java/
resources/
target/ # Not checked in
common.jar
webapp/
src/
main/
java/
resources/
webapp/
test/
java/
resources/
target/ # Not checked in
webapp.war
backend/
src/
main/
java/
perl/
resources/
test/
java/
resources/
target/ # Not checked in
backend.tar
infra/
tomcat/
bin/
conf/
apache/
bin/
conf/
db/
tables/
procs/
triggers/
Обратите внимание, что сейчас я не собираюсь переходить на мавена - Я буду адаптировать существующий муравей скрипты, так как они работают. Я бы хотел сохранить возможность перехода на maven (или что-то вроде buildr, использующего макет maven) в какой-то момент в будущем.
Итак:
- ли это, кажется, как разумный способ выложив хранилище? Есть ли что-нибудь, что повлечет меня за собой?
- Это будет очевидно для людей, новых для приложения?
- Будет ли это совместимо с maven, следует ли мне его использовать? (Я знаю, что теоретически вы можете сделать maven работать с любым макетом, но я считаю, что они рекомендуют стандарт по какой-то причине.)
- Имеют ли IDE проблемы с этим? (В зависимости от того, на каком компьютере я нахожусь, я использую intellij или eclipse. Другие люди в моей команде, у которых, кстати, нет мнений по этому поводу, используйте netbeans.)
Звучит неплохо, спасибо. Протестировавшись с IntelliJ и Eclipse, они оба кажутся более или менее счастливыми. – Andy
Фактически, Eclipse, IntelliJ и NetBeans могут обрабатывать этот макет без каких-либо ручных настроек, когда предоставляется pom.xml. Я просто не знаю, верно ли это при использовании только Ant. –