Я пытаюсь преобразовать проект с несколькими подмодулями в Maven, но я думаю, что немного запутался в , как, чтобы сделать это правильно.Божественные двунаправленные зависимости с Maven или я просто смущен?
Это веб-приложение с упаковкой war
. Так вот наша структура проекта:
core
(с весны, спящий режим и т.д.)module1
module2
module3
Каждый module
зависит от core
, потому что core
предоставляет базу данных доступ и некоторые базовые функции. В словах Maven, я бы поставил
<dependency>
<groupId>a.b.c</groupId>
<artifactId>core</artifactId>
</dependency>
внутри каждого module
«ы pom.xml
.
Next: module3
также зависит от module1
. Так что я бы поставил
<dependency>
<groupId>a.b.c</groupId>
<artifactId>module1</artifactId>
</dependency>
внутри module3
«s pom.xml
.
До сих пор все выглядит довольно прямо и нормально, я думаю (?!). Теперь запутанный материал:
core
является WebApp. Поэтому в конце я скомпилировал проектcore
.- те
modules
обеспечит некоторую дополнительную функциональность для веб-приложение- Это означает:
core
каким-то образом зависит от каждогоmodule
- Это означает:
- Будущий релиз не может содержать
module2
, но вместоmodule2b
, который фактически наследует классыmodule2
, но может добавить/перезаписать некоторую функциональность
На данный момент у нас есть свойства (и дополнительные xml) f ile, который содержит modules
в проекте core
. Содержимое этого файла сообщит Spring, чтобы отсканировать еще несколько пакетов для контроллеров и фасоли.
Кроме того, есть муравей задача, которая работает с файловой системой путей:
<path id="libs.projects">
<dirset dir="${basedir}/../.">
<include name="libprefix*"/>
<exclude name="moduleprefix*"/>
</dirset>
</path>
Он сканирует папки, начиная с libprefix
и moduleprefix
и компилирует их. Затем он берет сгенерированные файлы jar
из целевых каталогов и некоторых других файлов (html, jsp, js, css и т. Д.) И копирует их в каталоги проектов core
.
на вопросы довольно ясно, я думаю:
- Что оптимальное расположение проекта (особенно в отношении тех будущих релизов)
- двунаправленного проект зависимостей правильно?
Возможно, есть другой способ использования родительского модуля Maven с упаковкой pom
? Я никогда раньше не использовал это и не знаю, что это за возможности. Но я надеюсь, вы, ребята, знаете, как это решить;)
Спасибо!
Звучит хорошо. Поэтому, если я правильно понял: ** один проект 'war' с весной (и веб-материалом), который зависит от' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ', который имеет спящую.Тогда каждый «модуль» будет зависеть от проекта «database». И проект 'war' будет зависеть от всех необходимых« модулей »? ... Тогда, если нам нужна вторая версия приложения с другой конфигурацией, мы создадим второй проект 'war', который зависит от всех необходимых модулей. Правильно? –
Но тогда осталось еще одно: каждый 'module' имеет свои' Entities' и 'DAOs'. Это означает, что они должны быть включены в 'persistence.xml'. Но я не хочу включать их в проект «database». Проект базы данных ** должен ** искать в других модулях для этих классов. Это возможно? –
Помогает ли это: http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/orm.html#orm-jpa-multiple-pu –