Я не смог найти лучших практик для моего многомодульного проекта maven с точки зрения управления версиями, выпусков и пакетов osgi,
Прежде всего, Версионирование и обратное.В моем проекте 5-6 субмодулей с 200+ банками, поэтому я хотел использовать агрегацию,
Случай 1: Не указывать версии проекта и использовать родительскую версию
в этомВ случае, если я использую плагин релиза maven, тегирование и pom.next подходят для разработки (хорошо, значит, jar3 всегда будет использовать последнюю версию jar1, которая идентична самой себе), но что если мне нужно сделать исправление патча только для jar1?Как я могу сделать пересылку (он говорит, что не могу выпустить проект из-за не выпущенных зависимостей parent: 0.0.2-SNAPSHOT) и если мне удастся выпустить jar1 0.0.1.1, как сказать jar3, чтобы использовать исправленную версию jar1?
Родительский проект (снимок 0.0.1)
Module1
Jar1
Jar2
Module2
Jar3
(зависимости) [Jar1 (project.version), Jar2(project.version)]
Jar4
(зависимости) [Jar1 (project.version), Jar3 (project.version)]
Случай 2: возможноРекомендуется указывать версии jar в файле свойств родительского pom
в этом случае, когда, к сожалению, используйте плагин release, когда я проверяю pom.next, я вижу, что и версия jar, и версии зависимостейвместо свойства (jar1.version) возвращено жестко закодированное, так что в следующем выпуске я не смогу использовать свойства, и вторая проблема заключается даже в том, что мне удается решить 1-ю проблему. Плагин maven release не изменяет свойства, поэтому в следующем выпуске будут использоваться неизмененные версии.фрom properties
родительский проект
свойства
jar1.version
jar2.version
jar3.version
jar4.version
Module1
Jar1 (jar1.version)
Jar2 (jar2.version)
Module2 (0.0.1-снимок)
Jar3 (jar3.version)
(зависимости) [Jar1, Jar2]
Jar4 (0.0.1-Снимок)
(зависимости) [Jar1, Jar3]
Я в некотором замешательстве, не думал, что процедура пересмотра и исправления будет такой сложной, что лучшеспособ справиться с такого рода требованиями с Maven