JarWise 的
   
JarWise是一个Java代码分析工具,可帮助开发人员理解Java项目中的方法调用层次结构。它提供了一个模型上下文协议(MCP)服务器,该服务器公开了用于分析Java代码结构和关系的工具。
JarWise是什么?
JarWise使用JavaParser分析Java源代码和JAR文件,构建类、方法及其关系的索引。它可以跟踪方法调用层次结构,帮助开发人员了解代码库的不同部分是如何交互的。
该工具特别适用于:
- 理解复杂的代码库
- 跟踪方法调用流
- 分析依赖关系
- 探索继承层次结构
- 发现REST API终结点
需求
- Java 21或更高版本
- 8.0级或更高
操作模式
JarWise支持两种操作模式:
本地模式(默认)
- 用例:单个Java项目
- 配置:
jar-wise.mode=LOCAL - 路径:设置
jar-wise.project-path到您的Java项目目录
服务器模式
- 用例:多个Java项目
- 配置:
jar-wise.mode=SERVER - 路径:设置
jar-wise.project-path到包含多个Java项目的根目录
您可以通过环境变量进行设置:
JAR_WISE_MODE:设置为LOCAL(默认)或SERVERJAR_WISE_PROJECT_PATH:项目或根目录的路径
在JarWise上构建和运行JarWise
建设项目
./gradlew buildJar文件对于类型解析很重要。在使用JarWise之前,请务必构建Java项目。Thinjar及其所有依赖项和bootjar都受支持。
运行MCP服务器
JAR_WISE_PROJECT_PATH=${pwd} ./gradlew bootRun或者使用JAR文件:
JAR_WISE_PROJECT_PATH=${pwd} java -jar app/build/libs/app.jar 运行后,JarWise服务将扫描所有java源文件和Jar文件。
MCP配置
- 启动JarWise MCP服务器(见上面的说明)
- 配置您的MCP客户端以连接到JarWise:
{
"mcpServers": {
"jar-wise": {
"url": "http://localhost:8080/mcp",
"transportType": "streamableHttp"
}
}
}使用示例
您可以通过MCP兼容客户端发出的请求示例:
- 查找呼叫层次结构:
find_call_hierarchy带签名参数 - 获取REST API摘要:
find_rest_api_summary列出所有API - 搜索代码:
search_code按名称查找类、方法或API - 分析代码关系和方法流
这种集成允许您在支持MCP的首选开发环境中利用JarWise的代码分析功能。
许可证
此项目根据GNU较宽松通用公共许可证v3.0(LGPL-3.0)获得许可-请参阅 许可证 文件以获取详细信息。
LGPL对你意味着什么?
- 使用图书馆:您可以在应用程序(包括商业应用程序)中自由使用此库,不受任何限制
- 修改库:如果修改并分发此库,则必须使修改后的源代码在LGPL-3.0下可用
- 链接:您可以将此库与专有代码链接,而无需将整个应用程序开源
