Modernizuj aplikacje Java przy użyciu modernizacji GitHub Copilot w interfejsie wiersza polecenia Copilot

Ten artykuł przedstawia przegląd tego, jak programiści Java mogą modernizować swoje aplikacje przy użyciu wtyczki GitHub Copilot modernization w Copilot CLI. Korzystając z tego podejścia, deweloperzy mogą modernizować aplikacje wszędzie tam, gdzie kodują. Wtyczka zapewnia bezproblemowe, kompleksowe środowisko — od uaktualniania i migracji do wdrożenia — pomagając zespołom przyspieszyć transformację, zwiększyć produktywność i bezpiecznie przenieść aplikacje na nowoczesne platformy.

Oświet ekranu przedstawiający interfejs wiersza polecenia GitHub Copilot przedstawiający monit o modernizację GitHub Copilot.

Uwaga / Notatka

GitHub Copilot CLI jest dostępny w planach GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business i GitHub Copilot Enterprise. Jeśli otrzymasz Copilot od organizacji, zasady CLI Copilot muszą być włączone w ustawieniach organizacji.

Korzystając z interfejsu wiersza polecenia Copilot do modernizacji, można uruchamiać zadania modernizacji bezpośrednio z poziomu terminalu bez konieczności przełączania się do środowiska IDE. Takie podejście obsługuje zarówno interaktywne — z człowiekiem w pętli — jak i wsadowe przepływy pracy.

Co można zrobić

Zdolność Opis
Aktualizacja języka Java Uaktualnianie wersji Java (8 → 11 → 17 → 21 → 25), migrowanie środowiska Spring Boot 2.x do wersji 3.x, środowiska Javax do platformy Jakarta i przestarzałych interfejsów API
Migracja platformy Azure Ocenianie i migrowanie aplikacji Java do usług Azure (Azure Service Bus, Azure SQL, Redis, Azure Key Vault, Application Insights, tożsamość zarządzana)
CVE i rozwiązywanie problemów z lukami w zabezpieczeniach Skanuj i naprawiaj luki CVE w zależnościach Maven, w tym w Log4j, Spring, Jackson i analizie zależności OWASP
Zmiana architektury aplikacji Przebudowy strukturalne, takie jak dekompozycja monolitu na mikrousługi, modernizacja przestarzałego interfejsu użytkownika oraz wydzielanie modułów
Wdróż na platformie Azure Wdrażanie uaktualnionych lub zmigrowanych aplikacji Java bezpośrednio do Azure

Wymagania wstępne

Uwaga / Notatka

Konto Azure jest wymagane tylko do wdrażania zasobów w Azure i nie jest potrzebne do modernizowania przy użyciu GitHub Copilot, aby wprowadzać zmiany w kodzie.

Instalowanie wtyczki

  1. Dodaj witrynę Marketplace i zainstaluj wtyczkę:

    copilot plugin marketplace add microsoft/github-copilot-modernization
    copilot plugin install github-copilot-modernization@github-copilot-modernization
    
  2. Sprawdź, czy wtyczka jest zainstalowana, wyświetlając listę zainstalowanych wtyczek:

    /plugin list
    

    Powinieneś zobaczyć github-copilot-modernization@github-copilot-modernization na liście.

Wskazówka

Aby zaktualizować wtyczkę po udostępnieniu nowej wersji, uruchom polecenie:

copilot plugin update github-copilot-modernization@github-copilot-modernization

Uruchamianie zadania modernizacji

Opcja 1. Rozpoczynanie pracy bezpośrednio z agentem

Przejdź do folderu projektu w języku Java i uruchom Copilot CLI z agentem modernizacji:

cd /path/to/your/java-app
copilot --agent=github-copilot-modernization:modernize

Opcja 2: Wybierz agenta w Copilot CLI

Jeśli jesteś już w sesji Copilot CLI, użyj polecenia /agent, aby przełączyć się do agenta ds. modernizacji:

/agent

Wybierz modernize z listy.

Ważna

Przed uruchomieniem jakichkolwiek poleceń modernizacji należy wybrać agenta github-copilot-modernization:modernize. Jeśli nie wybierzesz agenta, Copilot CLI użyje agenta domyślnego, który nie może korzystać z pełnej orkiestracji wielu agentów ani z wyspecjalizowanych funkcji migracji udostępnianych przez wtyczkę.

Uruchom monit modernizacji

Gdy agent jest aktywny, opisz, co chcesz w języku naturalnym:

modernize my application

Lub być bardziej szczegółowe:

upgrade this app to Java 21 and Spring Boot 3.2
migrate this Spring Boot app to Azure
fix CVE vulnerabilities in my project

W przypadku nienadzorowanego wykonywania użyj flagi --allow-all :

copilot --agent=github-copilot-modernization:modernize --allow-all

Jak działa przepływ pracy

Wtyczka używa trzyfazowego przepływu pracy, który jest uruchamiany automatycznie. Nie musisz ręcznie wywoływać każdej fazy — orkiestrator obsługuje routing na podstawie żądania.

Faza 1. Ocena

  • Odnajduje aplikacje Java w podanej ścieżce.
  • Analizuje zależności, struktury i Java wersję.
  • Identyfikuje możliwości modernizacji i zagrożenia.
  • Zapisuje wyniki w pliku .github/modernize/assessment/.

Faza 2. Planowanie

  • Ładuje wyniki oceny.
  • Generuje wykonywalny plan zadania.
  • Zapisuje plan na .github/modernize/<app>/plan.md i tasks.json.

Faza 3. Wykonanie

  • Kieruje zadania do wyspecjalizowanych agentów funkcji wykonawczej na podstawie typu zadania.
  • Każdy wykonawca odpytuje bazę wiedzy o wzorce migracji.
  • Monitoruje postęp automatycznego ponawiania próby po awarii.
  • Tworzy szczegółowe commity dla każdego zadania do przeglądu.

Orkiestrator obsługuje wiele punktów wejścia w zależności od intencji:

Workflow Gdy się aktywuje Co się stanie
Ogólny zamiar "Modernizuj moją aplikację" Pełny potok: ocena → planowanie → wykonanie
Określone zadanie "uaktualnienie do Java 21" Pomija ocenę, przechodzi prosto do planowania → wykonania
Wykonywanie istniejącego planu "Wykonaj plan" Pomija ocenę i planowanie, uruchamia istniejący plan
Headless Nienadzorowane wykonywanie za pomocą polecenia --allow-all Taka sama jak ogólna intencja bez poleceń użytkownika

Typowe scenariusze

Uaktualnianie aplikacji Java

Aby uaktualnić aplikację Java do nowszej wersji środowiska uruchomieniowego lub struktury, użyj następującego przykładu:

copilot --agent=github-copilot-modernization:modernize
upgrade this project to JDK 21 and Spring Boot 3.2

Następnie zadanie modernizacji jest wykonywane, w tym generowanie planu uaktualniania, korygowanie kodu, kompilowanie projektu i sprawdzanie pod kątem luk w zabezpieczeniach, jak pokazano na poniższym zrzucie ekranu:

Zrzut ekranu CLI GitHub Copilot przedstawiający uruchamianie zadań w scenariuszach uaktualniania Java.

Projekt został pomyślnie uaktualniony do zestawów JDK 21 i Spring Boot 3.2, a zostanie wyświetlone podsumowanie uaktualnienia.

Zrzut ekranu CLI GitHub Copilot, który pokazuje podsumowanie aktualizacji Java.

Migrowanie aplikacji Java do Azure

Aby przeprowadzić migrację aplikacji Java do Azure, opisz scenariusz migracji, jak pokazano w poniższym przykładzie. Aby uzyskać więcej informacji na temat wstępnie zdefiniowanych zadań migracyjnych, zobacz Wstępnie zdefiniowane zadania do modernizacji GitHub Copilot dla deweloperów Java.

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

Po wyświetleniu tego monitu zadanie migracji jest wykonywane i pokazuje postęp w interfejsie wiersza polecenia Copilot.

Zrzut ekranu CLI GitHub Copilot przedstawiający uruchamianie zadań w scenariuszach migracji Java.

Po pomyślnym przeprowadzeniu migracji projektu do usługi Microsoft Azure Blob Storage zostanie wyświetlone podsumowanie migracji.

Zrzut ekranu GitHub Copilot CLI, który pokazuje podsumowanie migracji Java.

Wdrażanie aplikacji Java w Azure

Po uaktualnieniu lub migracji aplikacji można wdrożyć ją bezpośrednio z poziomu interfejsu wiersza polecenia Copilot, korzystając z następującego przykładu:

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.

Użycie tego polecenia powoduje uruchomienie zadania wdrażania i wyświetlenie postępu w Copilot CLI.

Zrzut ekranu interfejsu wiersza polecenia GitHub Copilot pokazujący szczegóły wdrożenia języka Java.

Po pomyślnym wdrożeniu projektu zostanie wyświetlone podsumowanie wdrożenia.

Zrzut ekranu GitHub Copilot CLI pokazujący podsumowanie wdrożenia w języku Java.

Troubleshooting

Nie znaleziono wtyczki

# 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

Ocena kończy się niepowodzeniem: nie znaleziono aplikacji Java

  • Sprawdź, czy pom.xml lub build.gradle istnieje w katalogu głównym projektu.
  • Przed uruchomieniem Copilot CLI upewnij się, że jesteś we właściwym katalogu.

Problemy z serwerem MCP

Wtyczka używa serwera MCP zdefiniowanego w konfiguracji. Jeśli wystąpią problemy, spróbuj ponownie zainstalować wtyczkę, aby zresetować konfigurację MCP.

Prześlij opinię

Jeśli masz jakiekolwiek uwagi dotyczące wtyczki GitHub Copilot modernization, utwórz zgłoszenie w repozytorium github-copilot-appmod.

Następny krok