【问题标题】:Where can I find the p2 repository specification?在哪里可以找到 p2 存储库规范?
【发布时间】:2012-09-18 01:36:30
【问题描述】:

我尝试左右搜索,但找不到 Eclipse 使用的 p2 存储库格式的规范。

我有兴趣阅读 p2 元数据(content.xml/jarartifacts.xml/jar),我想知道它们的语法、存储库布局(复合与简单等)

当然,我可以通过查看一些现有的存​​储库对此进行逆向工程,但我想知道是否有详细描述此内容的文档。

【问题讨论】:

    标签: eclipse-plugin p2


    【解决方案1】:

    这些文件的格式不被视为 API,因此没有规范。这些实际上只是 p2 存储库的一种格式,如果您愿意,可以插入自己的格式。存储库格式的唯一 API 是 IMetadataRepository 和 IArtifactRepository 的实现。

    如果您想处理这些文件,我建议加载存储库(使用 IMetadataRepositoryManager 和 IArtifactRepositoryManager)并使用这些接口公开的 API。

    【讨论】:

    • 这些接口是否有不需要 OSGi 容器的实现?我正在编写一个小型命令行实用程序,我不想依赖 Eclipse。
    【解决方案2】:

    是的,没有 OSGi,p2 实际上无法使用。但是,如果您需要使用 p2 API 的小型命令行应用程序示例,我建议您查看p2diff。您可能还会发现以下链接很有趣:Query Language for p2。如果您真的不喜欢使用 Equinox,您可以尝试查看 org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryIO.Parserorg.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepositoryIO.Parser - 毕竟它只是 XML(尽管很复杂)。

    【讨论】:

      猜你喜欢
      • 2014-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-11
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多