Консультирование по настройке maven для нескольких проектов - PullRequest
0 голосов
/ 11 января 2012

Я смотрел на некоторые проекты с открытым исходным кодом и заметил, что у них есть настройки вроде:

/app1/pom.xml
/app1/app1-mod1/pom.xml
/app1/app1-mod2/pom.xml
/app1/app1-mod3/pom.xml

Итак, есть мастер-pom, а затем все модули также имеют pom.xml.1005 * Итак, в моей ситуации у меня есть следующее:

1. spring mvc application
2. spring mvc application
3. shared model/db layer

Итак, я думаю, что я должен следовать настройке нескольких pom.xml?

Если да, как я получу # 3 для сборки до # 2 и # 1.

Должен ли я переходить к ant для выполнения фактической сборки?

Anyуроки, которые вы, ребята, знаете, чтобы помочь мне пройти этот процесс?

Я пишу код в IntelliJ.

Ответы [ 2 ]

3 голосов
/ 11 января 2012

Реактор Maven построит модули в соответствующем порядке, вы можете сказать, что, по вашему мнению, лучше всего отсортировать, как вы хотите.

У меня есть похожая настройка проекта, подобная этой:

<artifactId>root</artifactId>
<packaging>pom</packaging>
<name>Root</name>

<modules>
    <module>event</module>
    <module>admin</module>
    <module>public</module>
</modules>

Затем он используется в качестве родительского для других модулей. Библиотека событий используется как в модуле администратора, так и в общедоступном веб-приложении. В модулях webapp определите что-то вроде этого:

<dependencies>
    <!-- Events -->
    <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>event</artifactId>
        <version>${project.version}</version>
    </dependency>
</dependencies>

A mvn install из корня работает прекрасно.

2 голосов
/ 11 января 2012

Maven рассчитает зависимости самостоятельно, если вы настроите свои POM так, чтобы модуль # 1 и # 2 оба зависят от # 3 maven сначала создаст # 3 без какой-либо дополнительной настройки.

Используемый вами макет (мультимодуль) также требуется для плагина релиза.

См. Также Мультимодульный проект

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