7

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

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

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

4

2 回答 2

5

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

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

于 2012-09-28T21:56:12.330 回答
1

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

于 2014-01-20T12:13:15.123 回答