Мне было интересно, как лучше всего создавать отдельные артефакты для дочерних модулей в многомодульном проекте Maven Spring Boot. Допустим, у вас есть один проект (операторы), один корневой pom.xml и два дочерних модуля. Kafka-оператор и proxy-sql-оператор должны создавать свои собственные артефакты, они также запускают собственный конвейер в Jenkins. Нам нужна отдельная версия без необходимости иметь два репозитория.
Вот обзор концепции.
Я хочу контролировать версии обоих модулей в родительском pom.xml< /p>
Текущая конфигурация в корне pom.xml
Код: Выделить всё
be.example
parent
0.0.1
be.example
operators
${revision}
pom
0.0.1-SNAPSHOT
0.0.3-SNAPSHOT
0.0.2-SNAPSHOT
Я ожидал, что смогу сделать что-то подобное, чтобы использовать эти версии в дочерних модулях.
pom kafka-operator:
Код: Выделить всё
be.example.operators
operators
${revision}
kafka-operator
${kafka-operator.version}
pom
kafka-operator-core
kafka-operator-adapter
А в модуле kafka-operator-core я бы сделал что-то вроде этого:
Код: Выделить всё
be.example.operators
kafka-operator
${kafka-operator.version}
kafka-operator-core
Но в модуле kafka-operator-core Maven жалуется, что версия неверна и что я не могу использовать версию, определенную в корневом файле pom.xml. Та же настройка применяется к оператору proxysql и его дочерним модулям.
Как этого добиться?
Подробнее здесь:
https://stackoverflow.com/questions/789 ... en-project