【问题标题】:What is a p2 repository?什么是 p2 存储库?
【发布时间】:2017-10-09 07:26:43
【问题描述】:

我现在在一个项目上工作了几个月,我们使用“p2-repositories”。我知道我从他们那里得到了我的依赖。但现在我想更深入地研究这个主题,我想知道 p2-repository 到底是什么——定义。

我认为这与 OSGi 和 Nexus 有关。但它来自哪里?当我使用 p2 存储库时,我是否绑定到 Nexus?或者这是来自 OSGi 的通用标准?还是 Eclipse/Maven/Tycho?

既然可以拥有 Maven,为什么还需要 p2-repositories?或者为什么我不能使用 Maven?

【问题讨论】:

  • 它们是 Eclipse/Equinox 供应平台的一部分,请参阅 herehere。 p2,因为它是 Eclipse 使用的第二个供应平台。
  • Tycho 用于解析 OSGi 工件 P2 存储库。关键是该项目是基于清单或基于 pom 的。 MANIFEST 方式是更面向 OSGi 的方式,而基于 pom 的是 Maven 相关方式....

标签: eclipse maven osgi nexus p2


【解决方案1】:

P2 存储库在 Eclipse 生态系统中非常常见。它们结合了工件(包)、元数据,还可以包含 eclipse 功能。

P2 存储库通常完全独立于 maven 存储库和 nexus。 Nexus 对 p2 功能有一些支持,这可能是您与它的联系。

在 OSGi 中提供部署的另一种方法是使用 Apache Karaf 功能。这些列出了要安装为每个捆绑包的 URL 的捆绑包。这样的 url 也可以是带有 maven 坐标的 mvn url。在这种情况下,功能和捆绑包都位于 maven 中。

第三种方法是使用 OSGi 包存储库。这是一个 OSGi 标准,用于 bndtools。他们只是托管元数据的索引和捆绑包的 url。可以和maven集成。

不幸的是,这些部署方式是相互排斥的。因此,您最好使用最适合您开发的平台的那个。因此,例如,如果您的几乎所有依赖项都来自 eclipse 项目,那么 p2 是自然的。

【讨论】:

猜你喜欢
  • 2012-03-10
  • 1970-01-01
  • 2013-01-26
  • 2011-02-24
  • 1970-01-01
  • 2020-12-06
  • 2011-12-06
  • 2014-05-16
  • 2016-05-22
相关资源
最近更新 更多