透過使用 Copilot CLI 中的 GitHub Copilot 現代化功能來現代化 Java 應用程式

本文概述了Java開發者如何透過 Copilot CLI 中的 GitHub Copilot modernization 外掛來現代化他們的應用程式。 透過此方法,開發者能在任何地方現代化應用程式。 該外掛提供無縫的端到端體驗——從升級、遷移到部署——幫助團隊加速轉型、提升生產力,並自信地將應用程式遷移到現代化平台。

GitHub Copilot CLI 截圖顯示GitHub Copilot現代化提示。

備註

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

先決條件

備註

Azure 帳號僅用於部署資源到 Azure,使用 GitHub Copilot 現代化進行程式碼變更時則不需要。

安裝外掛

  1. 新增市集並安裝外掛:

    copilot plugin marketplace add microsoft/github-copilot-modernization
    copilot plugin install github-copilot-modernization@github-copilot-modernization
    
  2. 請透過列出已安裝的外掛來確認外掛是否已安裝:

    /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.mdtasks.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

現代化任務接著執行,包括產生升級計畫、執行程式碼修復、建置專案,以及檢查以下截圖中的漏洞:

GitHub Copilot CLI 截圖,顯示Java升級情境下的執行任務。

專案成功升級至 JDK 21 與 Spring Boot 3.2,並顯示升級摘要。

GitHub Copilot CLI 截圖顯示Java升級摘要。

將你的 Java 應用程式遷移到 Azure

要將您的 Java 應用程式遷移到 Azure,請描述您的遷移情境,如下範例所示。 欲了解更多關於預定義遷移任務的資訊,請參閱針對Java開發者的GitHub Copilot現代化預定義任務

copilot --agent=github-copilot-modernization:modernize
migrate this application from S3 to Azure Blob Storage

使用此提示時,遷移任務會被執行,並在 Copilot CLI 中顯示進度。

GitHub Copilot CLI 截圖,顯示在 Java 遷移情境中執行的任務

當專案成功遷移到 Microsoft Azure Blob 儲存體 時,會顯示遷移摘要。

顯示GitHub Copilot CLI 的截圖,顯示Java遷移摘要。

將你的 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 中執行並顯示進度。

GitHub Copilot CLI 截圖顯示Java部署細節。

當專案成功部署時,會顯示部署摘要。

GitHub Copilot CLI 截圖,顯示Java部署摘要。

故障排除

找不到插件

# 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.xmlbuild.gradle 存在於你的專案根目錄中。
  • 在開始使用 Copilot CLI 前,請確認你在正確的目錄中。

MCP 伺服器問題

該外掛使用設定中定義的 MCP 伺服器。 如果遇到問題,試著重新安裝外掛來重置 MCP 設定。

提供意見反應

如果你對 GitHub Copilot 現代化 外掛有任何意見回饋,請在 github-copilot-appmod 存放庫建立 issue

後續步驟