mcpField
J
Jakarta Migration Mcp

Jakarta Migration Mcp

远程服务
github.com/adrianmikula开发工具111 周前更新
代码仓库

关于 Jakarta Migration Mcp

这是面向 IntelliJ IDEA 的 Java 迁移插件及 MCP 服务,帮助企业 Java 团队和维护旧系统的开发者将 Java EE 8 的 javax.* 迁移至 Jakarta EE 9+。它结合静态分析、依赖扫描和 OpenRewrite 重构,协助识别风险并规划迁移。

主要功能

  1. 01扫描 javax.* 用法与迁移风险
  2. 02分析依赖及传递依赖兼容性
  3. 03推荐依赖版本和迁移策略
  4. 04使用 OpenRewrite 自动重构
  5. 05分析测试覆盖与关键风险区

适用场景

  1. 01评估旧 Java EE 项目的迁移风险
  2. 02查找依赖树中的 javax.* 引用
  3. 03执行并验证 Jakarta EE 迁移重构

MCP 相关

插件通过 MCP 工具与 JetBrains AI Assistant 集成,供其协助迁移决策和代码修改。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址http://localhost:8080/mcp/sse
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

🚀 Jakarta 迁移(javax → jakarta)

在 IntelliJ 中直接分析、规划并自动执行 Java EE → Jakarta EE 迁移。

满怀信心地从 Java EE 8(javax.*)迁移到 Jakarta EE 9+。 此插件可检测迁移障碍、分析依赖项,并借助 OpenRewrite 帮助你安全地重构。


⚠️ 免费试用暂时不可用

免费试用已暂停。我们希望恢复试用,但需要你的帮助,让这个项目能够持续发展。

在 GitHub 上赞助此项目,帮助分担持续开发所需的时间和精力。如果此插件为你节省了数小时的迁移工作,请考虑回馈支持,这样我们就能继续开发功能,并为更广泛的 Java 社区恢复免费试用。

付费订阅可使用高级功能(高级重构、平台检测、高级扫描、PDF 报告和 AI 辅助迁移)。免费层仍包含迁移风险分析、依赖项扫描、版本建议和策略洞察。

注意:仍可通过安装此插件的 v1.0 版使用免费试用。


⚠️ 为什么这很重要

从 javax.* 迁移到 jakarta.* 并非简单的重命名。

  • 依赖项会出现问题
  • 框架需要升级
  • 应用服务器必须更换
  • 隐藏的引用会导致运行时故障

此插件可帮助你及早发现风险并系统地完成迁移。


� 隐私与分析

匿名数据收集

此插件会收集匿名使用统计信息和错误报告,以帮助改进产品:

我们收集的内容:

  • 匿名用户 ID(随机生成的 UUID)
  • 插件版本和环境
  • 使用事件(额度使用情况、升级点击)
  • 错误报告及堆栈跟踪(发生错误时)
  • 当前 UI 标签页和操作上下文

我们不会收集的内容:

  • 个人信息或可识别数据
  • 源代码或项目内容
  • IP 地址或位置数据
  • 用户名或电子邮箱地址

数据用途:

  • 提高迁移检测的准确性
  • 更快地修复错误和崩溃问题
  • 了解哪些功能最实用
  • 规划未来改进

数据存储:

  • 所有数据都安全存储在 Supabase 中(符合 GDPR)
  • 匿名用户 ID 存储在你的 IDE 配置中
退出选项

你可以随时停用数据收集:

通过 About 标签页:

  1. 打开 File → Settings → Plugins → Jakarta Migration
  2. 点击 About 标签页
  3. 关闭“Usage Analytics”和/或“Error Reporting”
  4. 更改会自动保存

退出后会发生什么:

  • 不再收集新的使用事件
  • 不再发送新的错误报告
  • 先前收集的匿名数据仍保留在 Supabase 中
  • 插件功能不受影响——所有功能均可正常使用

��️ IntelliJ IDEA 插件

下载

从 JetBrains Marketplace 获取 →


🔍 你可以做什么

📊 分析项目
  • 扫描整个代码库,查找 javax.* 的使用情况
  • 识别迁移障碍和兼容性问题
  • 估算迁移所需的工作量和风险
📦 了解依赖项
  • 检测哪些依赖项兼容 Jakarta
  • 深度传递扫描——在完整依赖树中查找隐藏的 javax.* 引用
  • 获取兼容版本建议
  • 通过依赖关系图直观呈现模块关系
🧠 规划迁移
  • 比较迁移策略
  • 确定所需的平台升级(Spring、应用服务器等)
✅ 验证迁移就绪情况
  • 增强的测试覆盖率分析:检测实际验证 javax/jakarta 兼容性的集成测试
  • 关键风险区域检测:识别存在迁移问题且测试覆盖率不足的模块
  • 迁移感知置信度评分:优先考虑能发现实际迁移问题的测试,而非使用模拟对象的单元测试
📄 生成专业报告
  • HTML 转 PDF 报告:精美、专业的报告,包含执行摘要
  • 多种模板:专业、技术和简约报告样式
  • 全面分析:依赖项、平台、高级扫描和建议
  • 在更改代码前做出明智的决策
⚡ 自信地重构
  • 应用由 OpenRewrite 提供支持的重构配方
  • 自动将 javax.* 转换为 jakarta.*
  • 使用内置历史记录撤销更改
🧪 高级重构(高级版)
  • 构建复杂的多步骤重构序列
  • 在隔离的沙箱 testcontainers 中测试重构,然后再应用
  • 实验历史记录 — 比较结果、重新运行并克隆过往实验
  • 安全验证重构不会破坏构建

🤖 AI 驱动的功能

  • 与 JetBrains AI Assistant 集成的 MCP 工具
  • 协助做出迁移决策并更改代码

🧪 实验性功能

  • 运行时分析 – 检测运行时问题并提供修复建议
  • 报告 – 将迁移分析导出为 PDF

🧰 支持的技术

  • Java: 11、17、21、25
  • 构建工具: Maven、Gradle
  • 框架: Spring Boot 3+、Spring Framework 6+、Jakarta EE 9+
  • 应用服务器: Tomcat 10+、WildFly 27+、Jetty 12+、Open Liberty 23+、Payara 7+、JBoss EAP 8+、WebSphere、WebLogic
  • Jakarta API: Servlet、JSP、JPA、CDI、Bean Validation、JAX-RS、JAX-WS、JMS、WebSocket、JSON-B、JSON-P

🚀 快速入门

  1. 运行分析 – 扫描项目中的 javax.* 用法
  2. 查看结果 – 了解风险和迁移工作量
  3. 制定策略 – 选择最佳迁移方案
  4. 重构 – 应用自动化的 OpenRewrite 配方
  5. 验证 – 重新运行分析,确认迁移成功

⚙️ 技术详情

  • 基于 IntelliJ Platform 构建
  • 使用 OpenRewrite 执行安全、自动化的转换
  • 对源代码、依赖项和配置执行静态分析
  • 兼容 IntelliJ IDEA 2023.3+(Community 和 Ultimate)

💡 免费版与高级版

免费版

  • 迁移风险分析
  • 依赖项扫描
  • 版本建议
  • 迁移策略见解

高级版

  • 一键重构
  • 高级重构 — 在沙箱 testcontainers 中测试重构序列
  • 平台检测(框架、应用服务器)
  • 高级扫描与分析
  • PDF 报告
  • AI 辅助迁移工具

🎯 适用对象

  • 升级到 Jakarta EE 的企业 Java 团队
  • 维护旧版 Java EE 系统的开发者
  • 迁移到 Spring Boot 3+ 或现代应用服务器的团队

技术文档

查看 Github Wiki →

截图

.gallery { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; } .gallery-item { width: 25%; /* Adjust based on desired columns */ box-sizing: border-box; } .gallery-item img { width: 100%; height: auto; object-fit: cover; border-radius: 8px; } @media (max-width: 768px) { .gallery-item { width: 50%; } } @media (max-width: 480px) { .gallery-item { width: 100%; } }
图像 1
图像 2
图像 3
图像 4
图像 4
图像 4
图像 4
图像 4

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。