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