我现在正在做一个项目,我们使用"p2-repositories“。我知道我的依赖关系是从他们那里得到的。但现在我想更深入地研究这个主题,我想知道p2存储库到底是什么-定义。
我认为这与OSGi和Nexus有关。但是它从何而来呢?当我使用p2存储库时,我是否绑定到Nexus?或者这是OSGi的通用标准吗?或者Eclipse/Maven/Tycho?
为什么我需要p2-repositories,而我可以拥有Maven?或者为什么我不能使用Maven?
发布于 2017-05-10 23:24:11
P2存储库在eclipse生态系统中非常常见。它们组合了工件(包)、元数据,还可以包含eclipse特性。
P2存储库通常完全独立于maven存储库和纽带。Nexus有一些对p2特性的支持,这可能是你与它的连接。
在OSGi中提供部署的另一种方式是使用Apache Karaf特性。这些列表列出了要作为urls安装到每个包中的包。这样的url也可以是具有maven坐标的mvn url。在本例中,特性和包都位于maven中。
第三种方法是使用OSGi捆绑包存储库。这是一个OSGi标准,用于bndtools中。它们只是托管元数据的索引和包的url。它可以与maven集成。
不幸的是,这些部署方式是相互排斥的。因此,您最好使用在您的开发平台上最突出的一个。因此,例如,如果您几乎所有的依赖项都来自eclipse项目,那么p2是很自然的。
https://stackoverflow.com/questions/43895999
复制相似问题