Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se proporciona información general sobre cómo los desarrolladores de Java pueden modernizar sus aplicaciones mediante el complemento GitHub Copilot modernización en Copilot CLI. Mediante este enfoque, los desarrolladores pueden modernizar las aplicaciones dondequiera que codifiquen. El complemento ofrece una experiencia sin problemas, de un extremo a otro, desde la actualización y la migración a la implementación, lo que ayuda a los equipos a acelerar la transformación, aumentar la productividad y mover con confianza sus aplicaciones a plataformas modernas.
Nota:
GitHub Copilot CLI está disponible con los planes GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business y GitHub Copilot Enterprise. Si recibe Copilot de una organización, la directiva de la Interfaz de Línea de Comandos (CLI) de Copilot debe estar habilitada en las configuraciones de la organización.
Mediante el uso de Copilot CLI para la modernización, puede ejecutar tareas de modernización directamente desde el terminal, sin necesidad de cambiar a un IDE. Este enfoque admite flujos de trabajo interactivos( humanos en el bucle) y por lotes.
Qué puede hacer
| Capacidad | Descripción |
|---|---|
| actualización de Java | Actualizar la versión de Java (8 → 11 → 17 → 21 → 25), migrar Spring Boot 2.x a 3.x, de javax a jakarta y las API obsoletas |
| Migración a Azure | Evaluar y migrar aplicaciones de Java a servicios Azure (Azure Service Bus, Azure SQL, Redis, Azure Key Vault, Application Insights, Managed Identity) |
| CVE y corrección de vulnerabilidades | Examen y corrección de vulnerabilidades de CVE en dependencias de Maven, incluidos el análisis de dependencias de Log4j, Spring, Jackson y OWASP |
| Rearquitectura de aplicaciones | Reescrituras estructurales, como la descomposición de un monolito en microservicios, la modernización de interfaces de usuario heredadas y la extracción de módulos |
| Implementación en Azure | Implementar aplicaciones de Java actualizadas o migradas directamente en Azure |
Prerrequisitos
- GitHub Copilot CLI.
- Una suscripción de GitHub Copilot. Para obtener más información, consulte Copilot plans.
- Node.js versión 22 o posterior.
Nota:
Una cuenta de Azure solo se requiere para implementar recursos en Azure, y no se necesita para usar la modernización con GitHub Copilot para realizar cambios en el código.
Instalación del complemento
Agregue Marketplace e instale el complemento:
copilot plugin marketplace add microsoft/github-copilot-modernization copilot plugin install github-copilot-modernization@github-copilot-modernizationCompruebe que el complemento está instalado enumerando los complementos instalados:
/plugin listDebería ver
github-copilot-modernization@github-copilot-modernizationen la lista.
Sugerencia
Para actualizar el complemento cuando haya disponible una nueva versión, ejecute:
copilot plugin update github-copilot-modernization@github-copilot-modernization
Iniciar una tarea de modernización
Opción 1: Empezar directamente con el agente
Vaya a la carpeta del proyecto de Java e inicie Copilot CLI con el agente de modernización:
cd /path/to/your/java-app
copilot --agent=github-copilot-modernization:modernize
Opción 2: Selección del agente desde dentro de la CLI de Copilot
Si ya está en una sesión de la CLI de Copilot, use el comando /agent para cambiar al agente de modernización:
/agent
Seleccione modernize en la lista.
Importante
Debe seleccionar el github-copilot-modernization:modernize agente antes de ejecutar las solicitudes de modernización. Sin seleccionar el agente, Copilot CLI usa el agente predeterminado, que no puede usar la orquestación multiagente completa y las funcionalidades de migración especializadas proporcionadas por el complemento.
Ejecutar un prompt de modernización
Una vez que el agente esté activo, describa lo que desea en lenguaje natural:
modernize my application
O bien, ser más específico:
upgrade this app to Java 21 and Spring Boot 3.2
migrate this Spring Boot app to Azure
fix CVE vulnerabilities in my project
Para ejecutar de forma desatendida, use el indicador --allow-all:
copilot --agent=github-copilot-modernization:modernize --allow-all
Funcionamiento del flujo de trabajo
El complemento usa un flujo de trabajo de tres fases que se ejecuta automáticamente. No es necesario invocar manualmente cada fase: el orquestador controla el enrutamiento en función de la solicitud.
Fase 1: Evaluación
- Detecta aplicaciones Java en la ruta de acceso especificada.
- Analiza las dependencias, los marcos y la versión de Java.
- Identifica las oportunidades y los riesgos de modernización.
- Guarda los resultados en
.github/modernize/assessment/.
Fase 2: Planificación
- Carga los resultados de la evaluación.
- Genera un plan de tareas ejecutable.
- Guarda el plan en
.github/modernize/<app>/plan.mdytasks.json.
Fase 3: Ejecución
- Enruta las tareas a agentes ejecutores especializados en función del tipo de tarea.
- Cada ejecutor consulta una base de conocimiento para patrones de migración.
- Supervisa el progreso con reintento automático en caso de error.
- Crea confirmaciones detalladas por tarea para su revisión.
El orquestador admite varios puntos de entrada en función de la intención:
| Flujo de trabajo | Cuando se activa | ¿Qué ocurre? |
|---|---|---|
| Intención amplia | "modernizar mi aplicación" | Evaluación completa → plan → ejecución de canalización |
| Tarea específica | "actualizar a Java 21" | Omite la evaluación, va directamente al plan → ejecutar |
| Ejecución del plan existente | "ejecutar el plan" | Omite la evaluación y la planificación, ejecuta un plan existente. |
| Headless | Ejecución desatendida con --allow-all |
La misma intención general sin indicaciones del usuario |
Escenarios comunes
Actualización de la aplicación de Java
Para actualizar la aplicación de Java a una versión más reciente del entorno de ejecución o del marco de trabajo, use el ejemplo siguiente:
copilot --agent=github-copilot-modernization:modernize
upgrade this project to JDK 21 and Spring Boot 3.2
A continuación, se ejecuta la tarea de modernización, incluida la generación del plan de actualización, la realización de la corrección de código, la compilación del proyecto y la comprobación de vulnerabilidades, como se muestra en la captura de pantalla siguiente:
El proyecto se ha actualizado correctamente a JDK 21 y Spring Boot 3.2 y se muestra un resumen de actualización.
Migración de la aplicación de Java a Azure
Para migrar la aplicación de Java a Azure, describa el escenario de migración, como se muestra en el ejemplo siguiente. Para obtener más información sobre las tareas de migración predefinidas, consulte Tareas predefinidas para la modernización de GitHub Copilot para desarrolladores de Java.
copilot --agent=github-copilot-modernization:modernize
migrate this application from S3 to Azure Blob Storage
Con este mensaje, la tarea de migración se ejecuta y muestra el progreso en Copilot CLI.
Cuando el proyecto se migra correctamente a Microsoft Azure Blob Storage, se muestra un resumen de la migración.
Implementación de la aplicación de Java en Azure
Después de actualizar o migrar la aplicación, puede implementarla directamente desde Copilot CLI mediante el ejemplo siguiente:
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.
Al usar este indicador, la tarea de implementación se ejecuta y su progreso se muestra en Copilot CLI.
Cuando el proyecto se implementa correctamente, se muestra un resumen de implementación.
Solución de problemas
No se encontró el complemento
# 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
Error en la evaluación: no se encontró ninguna aplicación de Java
- Compruebe
pom.xmlobuild.gradleexista en la raíz del proyecto. - Asegúrese de que está en el directorio correcto antes de iniciar Copilot CLI.
Problemas del servidor MCP
El complemento usa el servidor MCP definido en su configuración. Si tiene problemas, intente reinstalar el complemento para restablecer la configuración de MCP.
Proporcionar comentarios
Si tiene algún comentario sobre el complemento de modernización de GitHub Copilot, abra una incidencia en el repositorio github-copilot-appmod.