Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.
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
- GitHub Copilot CLI.
- Subskrypcja GitHub Copilot. Aby uzyskać więcej informacji, zobacz Copilot plans.
- Node.js w wersji 22 lub nowszej.
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
Dodaj witrynę Marketplace i zainstaluj wtyczkę:
copilot plugin marketplace add microsoft/github-copilot-modernization copilot plugin install github-copilot-modernization@github-copilot-modernizationSprawdź, czy wtyczka jest zainstalowana, wyświetlając listę zainstalowanych wtyczek:
/plugin listPowinieneś zobaczyć
github-copilot-modernization@github-copilot-modernizationna 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.mditasks.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:
Projekt został pomyślnie uaktualniony do zestawów JDK 21 i Spring Boot 3.2, a zostanie wyświetlone podsumowanie uaktualnienia.
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.
Po pomyślnym przeprowadzeniu migracji projektu do usługi Microsoft Azure Blob Storage zostanie wyświetlone podsumowanie migracji.
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.
Po pomyślnym wdrożeniu projektu zostanie wyświetlone podsumowanie wdrożenia.
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.xmllubbuild.gradleistnieje 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.