Что такое репозиторий p2?

Я работаю над проектом в течение нескольких месяцев, где мы используем "P2-репозитории". Я знаю, что получаю от них зависимости. Но теперь я хочу погрузиться глубже в тему, и мне интересно, что такое P2-репозиторий - определение.

Я думаю, что это имеет какое-то отношение к OSGi и Nexus. Но откуда она берется? Связан ли я с Nexus при использовании репозиториев p2? Или это общий стандарт от OSGi? Или Затмение / Maven / Tycho?

зачем мне P2-репозитории, когда я могу иметь Maven? Или почему я не могу использовать Maven?

1 ответов


репозитории P2 очень распространены в экосистеме eclipse. Они объединяют артефакты (пакеты), метаданные, а также могут содержать функции eclipse.

репозитории P2, как правило, полностью независимы от репозиториев maven и nexus. Nexus имеет некоторую поддержку функций p2, которые, вероятно, связаны с ним.

другой способ обеспечения развертывания в OSGi-использование функций Apache Karaf. В них перечислены пакеты для установки в качестве URL-адресов для каждого пачка. Такой url также может быть url mvn с координатами maven. В этом случае функции, а также пакеты расположены в maven.

третий способ-использовать репозитории пакетов OSGi. Это стандарт OSGi и используется в bndtools. Они просто размещают индекс метаданных и url-адрес пакета. Он может быть интегрирован с maven.

к сожалению, эти способы развертывания являются взаимоисключающими. Поэтому лучше всего использовать тот, который является наиболее заметным для платформы вы развиваетесь дальше. Так, например, если почти все ваши зависимости от проектов eclipse, то p2 является естественным.