Зависимость модуля от артефакта - PullRequest
0 голосов
/ 29 июня 2018

У нас есть Maven агрегированный POM проект, как показано ниже

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.abc</groupId>
    <artifactId>project</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>

    <modules>
        <module>module-1</module>
        <module>module-2</module>
        <module>module-n</module>
    </modules>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.xyz<groupId>
                <artifactId>framework</artifactId>
                <version>1.1.1-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>com.xyz</groupId>
                <artifactId>dao</artifactId>
                <version>1.1.1-SNAPSHOT</version>
            </dependency>
        </dependencies>
    </dependencyManagement>            
</project>

модуль-2 имеет зависимость от модуля-1 И модуль-n имеет зависимость от модуля-1 и модуля-2.

Реактор Maven может разрешать все межмодульные зависимости (порядок сборки - модуль-1, модуль-2, модуль-n).

Некоторые общие компоненты из com.xyz также используются модулями (например, framework). Они извлекаются с удаленного сервера артефактов, в то время как артефакты зависимости между модулями (например, module-1.jar) извлекаются локально во время сборки maven.

Мой вопрос - как лучше связать зависимости? По модулю или по артефактам, хранящимся на сервере артефактов? Этот пример имеет оба использования. Я не мог понять, при каких обстоятельствах мы должны

1) сгруппировать все взаимозависимые модули под одним и тем же родительским компонентом ИЛИ

2) всегда извлекают зависящие артефакты из удаленного артефактного репозитория и пусть каждый модуль строится независимо

Есть плюсы и минусы? Извините за мой плохой английский. Я надеюсь, что мой вопрос ясен. Спасибо!

1 Ответ

0 голосов
/ 29 июня 2018

Эмпирическое правило:

Вы всегда строите банки одновременно? Затем они должны сформировать многомодульный проект.

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