Сегодня меня спросили, стоит ли использовать Maven в нашем текущем приложении OSGi. Мы использовали Bndtools и отлично, потому что это делает разработку максимально простой. Bndtools использует OBR для поддержки других пакетов и разрешения зависимостей даже во время работы приложения.
Поскольку Maven широко распространяется и пользуется такой популярностью, в основном все пытаются использовать его в средах OSGi. Для меня это два разных подхода. OSGi имеет собственное объявление зависимостей, MANIFEST.MF и Maven pom, где вы можете их объявить. Поэтому, если вы используете их оба, вы будете объявлять зависимости два раза. Конечно, вы можете использовать плагин Apache OSGi Maven, чтобы избежать этого, и Maven отвечает за создание MANIFEST.MF. НО Maven Repositories действительно не заботятся о пакетах. Так что может случиться, что вы ссылаетесь на банку с не связкой.
Конечно, есть преимущества с использованием Maven, но действительно ли хорошо сочетать его с OSGi или специально с Bndtools?
Может ли кто-нибудь предоставить преимущества или недостатки! Есть ли у кого-то практический опыт использования обоих?