本文概述了Java開發者如何透過
備註
GitHub Copilot CLI 可隨 GitHub Copilot Pro、GitHub Copilot Pro+、GitHub Copilot Business 及 GitHub Copilot Enterprise 方案使用。 如果你從某組織收到 Copilot,必須在該組織的設定中啟用 Copilot CLI 政策。
透過使用 Copilot CLI 進行現代化,你可以直接從終端機執行現代化任務,無需切換到 IDE。 此方法支援互動式(人機參與)與批次處理工作流程。
您可以採取的方法
| 能力 | Description |
|---|---|
| Java 升級 | 升級Java版本(8 → 11 → 17 → 21 → 25),將 Spring Boot 2.x 遷移到 3.x,從 javax 遷移到 jakarta,以及已棄用的 API |
| Azure遷移 | 評估並將 Java 應用程式移轉至 Azure 服務(Azure 服務匯流排、Azure SQL、Redis、Azure Key Vault、Application Insights、Managed Identity) |
| CVE 與漏洞修復 | 掃描並修復 Maven 相依中的 CVE 漏洞,包括 Log4j、Spring、Jackson 及 OWASP 相依分析 |
| 應用程式架構重構 | 結構重構,例如將單體架構拆解為微服務、舊版 UI 現代化,以及模組抽取 |
| 部署至 Azure | 部署升級或遷移的 Java 應用程式直接到 Azure |
先決條件
- GitHub Copilot CLI。
- 一個 GitHub Copilot 訂閱。 更多資訊請參閱Copilot計畫。
- Node.js 版本 22 或更新。
備註
Azure 帳號僅用於部署資源到 Azure,使用 GitHub Copilot 現代化進行程式碼變更時則不需要。
安裝外掛
新增市集並安裝外掛:
copilot plugin marketplace add microsoft/github-copilot-modernization copilot plugin install github-copilot-modernization@github-copilot-modernization請透過列出已安裝的外掛來確認外掛是否已安裝:
/plugin list您應該在列表中看到
github-copilot-modernization@github-copilot-modernization。
小提示
當有新版本可用時,要更新外掛,請執行:
copilot plugin update github-copilot-modernization@github-copilot-modernization
啟動現代化任務
選項一:直接找經紀人
進入你的 Java 專案資料夾,並用現代化代理啟動 Copilot CLI:
cd /path/to/your/java-app
copilot --agent=github-copilot-modernization:modernize
選項二:從 Copilot CLI 中選擇代理
如果你已經在 Copilot CLI 會話中,請使用 /agent 指令切換到現代化代理程式:
/agent
從清單中選擇 modernize 。
Important
您必須先選擇代理人 github-copilot-modernization:modernize ,才能執行任何現代化提示。 若未選擇代理,Copilot CLI 會使用預設代理,無法使用該外掛所提供的完整多代理協調及專門遷移功能。
執行現代化提示
代理人啟動後,用自然語言描述你想要的:
modernize my application
或者更具體一點:
upgrade this app to Java 21 and Spring Boot 3.2
migrate this Spring Boot app to Azure
fix CVE vulnerabilities in my project
若要進行無人值守執行,請使用 --allow-all 旗標:
copilot --agent=github-copilot-modernization:modernize --allow-all
工作流程運作方式
該外掛採用三階段工作流程,且會自動執行。 你不需要手動呼叫每個階段——編排器會根據你的請求處理路由。
第一階段:評估
- 在指定路徑中發現 Java 應用程式。
- 分析相依性、框架及 Java 版本。
- 識別現代化的機會與風險。
- 將結果儲存為
.github/modernize/assessment/。
第二階段:規劃
- 載入評估結果。
- 產生可執行的任務計畫。
- 將計畫保存為
.github/modernize/<app>/plan.md和tasks.json。
第三階段:處決
- 根據任務類型,將任務路由至專門的執行代理。
- 每個執行者都會查詢遷移模式的知識庫。
- 監控進度,失敗時會自動重試。
- 為每項任務建立詳細的提交紀錄,以供審查。
編排器支援多個入口點,視你的意圖而定:
| Workflow | 當它啟動時 | 會發生什麼事 |
|---|---|---|
| 廣義意圖 | 「現代化我的應用程式」 | 全面評估→計畫→執行流程 |
| 具體任務 | 「升級到 Java 21」 | 跳過評估,直接進入計畫→執行 |
| 執行現有計畫 | 「執行計畫」 | 跳過評估與規劃,直接執行現有計畫 |
| 無頭 | 使用 --allow-all 進行無人值守執行 |
與廣義意圖相同,但沒有使用者提示 |
常見場景
升級你的 Java 應用程式
要將您的 Java 應用程式升級到較新的執行環境或框架版本,請使用以下範例:
copilot --agent=github-copilot-modernization:modernize
upgrade this project to JDK 21 and Spring Boot 3.2
現代化任務接著執行,包括產生升級計畫、執行程式碼修復、建置專案,以及檢查以下截圖中的漏洞:
專案成功升級至 JDK 21 與 Spring Boot 3.2,並顯示升級摘要。
將你的 Java 應用程式遷移到 Azure
要將您的 Java 應用程式遷移到 Azure,請描述您的遷移情境,如下範例所示。 欲了解更多關於預定義遷移任務的資訊,請參閱針對Java開發者的GitHub Copilot現代化預定義任務。
copilot --agent=github-copilot-modernization:modernize
migrate this application from S3 to Azure Blob Storage
使用此提示時,遷移任務會被執行,並在 Copilot CLI 中顯示進度。
當專案成功遷移到 Microsoft Azure Blob 儲存體 時,會顯示遷移摘要。
將你的 Java 應用程式部署到 Azure
升級或遷移應用程式後,您可以使用以下範例直接從 Copilot CLI 部署:
copilot --agent=github-copilot-modernization:modernize
Scan my project and help me plan how to containerize my application using the #appmod-get-containerization-plan tool. Execute the plan. The end goal is to have Dockerfiles that are able to be built.
使用此提示詞後,部署任務會在 Copilot CLI 中執行並顯示進度。
當專案成功部署時,會顯示部署摘要。
故障排除
找不到插件
# Verify marketplace is added
copilot plugin marketplace list
# Re-add the marketplace if needed
copilot plugin marketplace add microsoft/github-copilot-modernization
# Reinstall
copilot plugin install github-copilot-modernization@github-copilot-modernization
評估失敗:找不到 Java 應用程式
- 驗證
pom.xml或build.gradle存在於你的專案根目錄中。 - 在開始使用 Copilot CLI 前,請確認你在正確的目錄中。
MCP 伺服器問題
該外掛使用設定中定義的 MCP 伺服器。 如果遇到問題,試著重新安裝外掛來重置 MCP 設定。
提供意見反應
如果你對 GitHub Copilot 現代化 外掛有任何意見回饋,請在 github-copilot-appmod 存放庫建立 issue。