Как правильно настроить многомодульный проект Maven Spring Boot? - PullRequest
1 голос
/ 11 июля 2020

После некоторого исследования попытка и провал, я все еще не могу понять, как сделать следующее:

Project-All - "Ability to combine Module #1 & Module #2 and to run in dev (Test full solution)"
|
+ Module_1 - "Ability to run independently in dev (Different dev team)"
| - pom.xml
+ Module_2 - "Ability to run independentlyin dev (Different dev team)"
| - pom.xml
- pom.xml

Я хотел бы собрать и запустить module_1 и module_2 отдельно, поскольку ну как в сборе. После попытки подключаемого модуля сборки для Maven без значительного успеха (или слишком сложного решения) я теперь пытаюсь использовать Spring Boot Plugin для Maven , который кажется более простым в использовании.

Итак, у нас есть какие-либо рекомендации о том, как правильно построить такую ​​установку с Spring Boot Plugin для Maven ?

Спасибо

1 Ответ

0 голосов
/ 11 июля 2020

Вот один из подходов, который вы можете попробовать:

В основном модуле POM вы можете использовать плагин выпуска maven следующим образом:

...
<packaging>pom</packaging>
   <modules>
      <module>module1..</module>
      <module>module2..</module>
</modules>
...
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <configuration>
                <goals>install</goals>
                <autoVersionSubmodules>true</autoVersionSubmodules>
            </configuration>
        </plugin>
    </plugins>
</build>

Если вы используете wi sh для сборки подмодули таким образом, чтобы они могли работать сами по себе:

вы можете использовать maven repckage target в модуле pom следующим образом:

 <build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

Существует возможность указать имя основного класс в этой конфигурации. Ознакомьтесь с официальной документацией

...