Versioning & Packages

Maven a Gradle

Puedes convertir dependencias desde XML, llamadas Gradle o coordenadas y elegir el formato de salida.

Maven a Gradle

Dependencias de entrada

Declaraciones convertidas

La conversión se realiza en este navegador. Las declaraciones no se suben ni se envían a repositorios.

Coordenadas: g:a[:v[:classifier]]. Una llamada o coordenada por línea; llaves en líneas separadas.

Hasta 65.536 caracteres y 200 dependencias. Solo módulos externos literales, sin proyectos completos.

Han cambiado la entrada o las opciones. Convierte de nuevo antes de exportar.

Maven a Gradle resulta útil cuando la documentación de una biblioteca solo ofrece el otro formato de compilación. Extrae las declaraciones necesarias sin incluir el proyecto padre, repositorios ni plugins.

El resultado es un fragmento para tu proyecto. Cambiar la sintaxis no comprueba que la versión exista ni que el grafo de dependencias se pueda resolver sin conflictos.

Por qué usar Maven a Gradle

Las coordenadas viajan juntas

Maven a Gradle mantiene grupo, artefacto, versión y clasificador. Los campos XML se convierten en declaraciones Groovy o Kotlin; entre ambos DSL se conserva la configuración Gradle admitida.

Campos de coordenadas con colores pasan de una tarjeta XML a dos declaraciones compactas

Las diferencias de classpath quedan visibles

Un scope Maven no siempre equivale exactamente a una configuración Gradle. Los avisos junto al resultado ayudan a revisar la exposición de API y el uso en pruebas antes de integrar la declaración.

Los marcadores de scope y clasificador atraviesan la conversión mientras un proyecto completo queda bloqueado

Decide la notación y el uso de la dependencia

01

Comprueba el cuarto segmento

La detección acepta XML, llamadas Gradle admitidas y una coordenada por línea. El orden es g:a[:v[:classifier]]; el cuarto segmento siempre es el clasificador, no el packaging de Maven.

02

Elige qué se expone a consumidores

compile y las coordenadas sin declaración usan implementation por defecto. Elige api cuando una biblioteca Java expone esa dependencia. Las configuraciones Gradle existentes se mantienen al cambiar de DSL.

03

Espera a que se renueve la salida

El modo automático espera 350 ms tras editar. Desactívalo para ejecutar con Ctrl/Cmd + Enter. Cada cambio bloquea copiar y descargar hasta que se genere un resultado actualizado.

Detalles que se mantienen al cambiar de formato

Gradle a Maven

Admite implementation, api, compileOnly, runtimeOnly y tres configuraciones de pruebas. El XML omite compile por ser el scope predeterminado y escribe los demás scopes admitidos.

Groovy y Kotlin DSL

Groovy genera comillas simples; Kotlin DSL añade paréntesis y comillas dobles. api y testRuntimeOnly conservan sus nombres al pasar directamente entre estos formatos, sin fusionarse primero en un scope Maven.

Clasificador y versión administrada

El cuarto segmento pasa a classifier en XML. Si falta la versión, se mantiene ausente y se avisa de que una BOM, plataforma o gestión previa debe aportarla. Un clasificador exige una versión explícita.

Lotes y bloque opcional

Hasta 200 declaraciones mantienen el orden y los duplicados. Puedes añadir el bloque dependencies en la sintaxis de destino. Los comentarios y espacios originales no se conservan.

Límites de la conversión de fragmentos

No migra proyectos completos
Un pom.xml o build.gradle completo puede contener plugins, perfiles, repositorios y herencia. Esas estructuras se rechazan. Usa herramientas de migración y verifica el proyecto con una compilación real.
Solo módulos externos literales
Se rechazan propiedades, interpolación, versiones dinámicas, rangos, mapas, closures, project(), files(), platform() y alias de catálogo. Los campos admiten letras ASCII, números, guiones, puntos y guiones bajos.
Los metadatos no admitidos son errores
optional, exclusions, system/import y tipos distintos de jar detienen la conversión. También se rechazan campos o atributos desconocidos, DTD e instrucciones de procesamiento. No se exporta un lote parcial ocultando datos perdidos.
Revisa el significado del scope
compile pasa a implementation o api; provided a compileOnly; runtime a runtimeOnly; test a testImplementation. La conversión inversa fusiona distinciones de Gradle, por lo que los classpaths de pruebas y la publicación pueden cambiar.
Entrada limitada y sintaxis por línea
El máximo es 65.536 caracteres y 200 dependencias. Cada llamada o coordenada ocupa una línea; las llaves del bloque van en líneas separadas. No se verifican versiones, dependencias transitivas ni conflictos.

Preguntas sobre Maven a Gradle

¿Cómo se traducen type y scope de una dependencia Maven a Gradle?

Los cuatro scopes admitidos siguen las correspondencias de las reglas. type puede omitirse o ser jar. test-jar y pom implican decisiones de artefacto o plataforma que no se resuelven renombrando un campo.

¿Se puede convertir una dependencia sin versión?

Sí. Se acepta group:artifact y XML sin version. La salida no inventa una versión: debe recibirla de una BOM, plataforma o gestión de dependencias ya configurada en el proyecto.

¿Se admiten propiedades como ${spring.version}?

No. Resuelve primero la propiedad y pega su valor literal. Una expresión Maven copiada dentro de una cadena Gradle puede cambiar de significado; esta página no evalúa scripts.

¿Cómo convertir un build.gradle de Groovy en build.gradle.kts de Kotlin?

Selecciona Kotlin y pega las llamadas de dependencias admitidas. Se ajustan paréntesis y comillas. Las tareas, plugins, mapas y demás lógica Groovy necesitan una migración separada.

¿Existe un conversor en línea de Gradle a Maven?

Esta página permite Gradle a Maven para fragmentos de dependencias. No convierte un build.gradle completo en un POM completo: repositorios, plugins, publicación y estructura de módulos deben migrarse por separado.

¿Falta alguna respuesta?

Lleva la declaración al bloque correcto

Usa Maven a Gradle, revisa el número de dependencias y los avisos de scope, y copia el resultado actualizado a tu proyecto.