java - 如何解析/解压缩/解包 Nexus 生成的 Maven 存储库索引

标签 java maven lucene nexus maven-indexer

我已经从 http://mirrors.ibiblio.org/pub/mirrors/maven2/dot-index/nexus-maven-repository-index.gz 下载了为 Maven Central 生成的索引

我想列出这些索引文件中的 Artifact 信息(例如 groupId、artifactId、version)。我读过有一个高级 API。看来我必须使用以下 maven 依赖项。但是,我不知道要使用的入口点是什么(哪个类?)以及如何使用它来访问这些文件:

<dependency>
    <groupId>org.sonatype.nexus</groupId>
    <artifactId>nexus-indexer</artifactId>
    <version>3.0.4</version>
</dependency>

最佳答案

快看https://github.com/cstamas/maven-indexer-examples项目。

简而言之:您不需要手动下载 GZ/ZIP(新/旧格式),索引器会为您处理(此外,如果可能,它也会为您处理增量更新)。

GZ 是"new"格式,独立于仅包含数据的 Lucene 索引格式(因此,独立于 Lucene 版本),而 ZIP 是“旧”格式,实际上是普通的 Lucene 2.4.x 索引压缩。目前没有数据内容发生变化,但计划在未来进行。

正如我所说,两者之间没有数据内容差异,但有些字段(如您注意到的)已编入索引但未存储在索引中,因此,如果您使用 ZIP 格式,您将可以搜索它们,但无法检索它们.

关于java - 如何解析/解压缩/解包 Nexus 生成的 Maven 存储库索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5776519/

相关文章:

java - 尝试编译Kurento Java教程时出错[maven依赖解析]

java - org.apache.lucene.store.LockObtainFailedException : Lock obtain timed out:

Java 等同于 groovy 的 Object with(Closure) 方法

java - SonarQube:如何分析共享多个模块的项目?

maven - 如何配置 maven surefire 以使用作为依赖项的 jvm 代理?

lucene - 将 Lucene HitCollector (2.x) 迁移到 Collector (3.x)

java - 优化 Lucene 的压缩比

javascript - 如何使用 java spring 在 javascript jquery 中设置帖子路径

java - synchronized方法修改后所有java线程都会看到共享资源更新吗?

java - JSON 数据错误地填充 textViews