SuperAPI AI 工具集

maven-indexer

编程与开发

查看项目

更新于 10-16 02:44

技能介绍

Maven Indexer 是一个命令行工具,用于从本地 Maven/Gradle 缓存中搜索和查看 Java 类、构件与资源。它适合在以下情况使用:看到某个 import(例如 com.company.util.Helper)但在工作区中找不到定义,该定义很可能来自已编译的内部库;需要阅读内部或非知名库的真实实现,而不是猜测其行为;需要确定某个类属于哪个构件;需要获取依赖类的方法签名、Javadoc 或完整源码;需要查找某个接口的实现或某个基类的子类(例如 SPI 实现);需要定位 JAR 中嵌入的 proto 文件或其他资源。

在以下情况应跳过使用:类来自标准 Java 库(java.util、java.io 等)或 AI 已经熟悉的知名公共库;源码已经存在于当前工作区中。

使用前建议先检查索引。如果索引可能为空或过期,先构建索引:

快速扫描——每个构件只保留一个最佳版本(快速,推荐)

maven-indexer-cli refresh-index

全量扫描——所有构件的所有版本

maven-indexer-cli refresh-index --full

主要命令如下。

search-classes——查找某个类属于哪个构件。当看到 import 却找不到定义时非常必要,不要因为代码能编译就假定源码在本地。

maven-indexer-cli search-classes <className>

示例:

maven-indexer-cli search-classes StringUtils maven-indexer-cli search-classes com.company.util.Helper maven-indexer-cli search-classes JsonToXml # 关键字搜索也可用

get-class——读取真实实现,用于替代猜测。优先使用源码 JAR,回退到反编译。

方法签名(默认)

maven-indexer-cli get-class <className>

Javadoc + 方法签名

maven-indexer-cli get-class <className> --type docs

完整源码

maven-indexer-cli get-class <className> --type source

指定构件版本

maven-indexer-cli get-class <className> --coordinate groupId:artifactId:version

search-artifacts——按坐标或关键字查找构件。

maven-indexer-cli search-artifacts <query>

示例:

maven-indexer-cli search-artifacts guava maven-indexer-cli search-artifacts com.google.guava

search-implementations——查找 SPI 实现与子类。在内部公司库中查找 SPI 或基类的实现时尤其有用。

maven-indexer-cli search-implementations <className>

示例:

maven-indexer-cli search-implementations java.util.List maven-indexer-cli search-implementations com.example.spi.Handler

search-resources——查找 proto 文件和其他 JAR 资源。

maven-indexer-cli search-resources <pattern>

示例:

maven-indexer-cli search-resources .proto maven-indexer-cli search-resources log4j.xml

输出方面,所有命令都支持 --json 以获得结构化输出:

maven-indexer-cli search-classes ImmutableList --json maven-indexer-cli get-class com.google.common.collect.ImmutableList --json

如果找不到 maven-indexer-cli,可通过以下命令安装:

npm install -g maven-indexer-cli

关于收费、价格、平台支持范围、性能效果等具体信息,资料中暂未提供。