我现在正在研究一个项目几个月,我们使用"p2-repositories".我知道我从他们那里得到了我的依赖.但现在我想深入研究这个主题,我想知道究竟什么是p2-repository - 定义.
我认为这与OSGi和Nexus有关.但是它来自哪里?当我使用p2存储库时,我是否与Nexus绑定?或者这是OSGi的通用标准吗?还是Eclipse/Maven/Tycho?
当我可以拥有Maven时,为什么需要p2-repositories?或者为什么我不能使用Maven?
P2存储库在日食生态系统中非常常见.它们结合了工件(包),元数据,还可以包含eclipse功能.
P2存储库通常完全独立于maven存储库和nexus.Nexus对p2功能有一些支持,这可能与你的连接有关.
在OSGi中提供部署的另一种方法是使用Apache Karaf功能.这些列出要作为每个包的URL安装的包.这样的URL也可以是具有maven坐标的mvn url.在这种情况下,功能以及捆绑包位于maven中.
第三种方法是使用OSGi包存储库.这是OSGi标准,用于bndtools.他们只托管元数据的索引和bundle的url.它可以与maven集成.
不幸的是,这些部署方式是互斥的.因此,您最好使用对您开发的平台最突出的那个.因此,例如,如果几乎所有的依赖项都来自eclipse项目,那么p2是很自然的.