elide mvn ejecuta compilaciones de Apache Maven 4 sin instalar Maven ni un JDK por separado.
Ejecutar una compilación
elide mvn -- package
elide mvn -- -f app/pom.xml clean install
elide mvn -- --versionTodo lo que va después de -- se pasa a Maven, salvo --flavor, --mode, --yes y --porcelain, que gestiona
elide mvn. La raíz del proyecto es el directorio .mvn más cercano por encima de -f/--file o del directorio de
trabajo.
Primera ejecución
Cada variante se descarga una sola vez, con una confirmación en el primer uso:
Native Maven component 'generic' is not installed. Download it now? [Y/n]Las imágenes se instalan en lib/maven/bin/ dentro del directorio de Elide. Las sesiones no interactivas descargan
sin preguntar; en una terminal, --yes omite la confirmación:
elide mvn -- --yes package| Plataforma | Arquitectura |
|---|---|
| Linux | x86_64, aarch64 |
| macOS | aarch64 |
| Windows | x86_64 |
Variantes
Una variante es el conjunto de plugins de Maven que se ejecutan de forma nativa.
| Variante | Plugins | Para |
|---|---|---|
generic | Ciclo de vida predeterminado: clean, resources, compiler, surefire, jar, install, deploy | Proyectos simples de Java o Kotlin |
spring@4.1.0 | Todo lo que usa un proyecto de Boot 4.1 creado con Spring Initializr | Spring Boot 4.1.x |
spring@4.0.7 | Lo mismo, para Boot 4.0 | Spring Boot 4.0.x |
Elide elige la variante spring que coincide con el major.minor de la versión del padre
spring-boot-starter-parent o de spring-boot-maven-plugin en pom.xml (Boot 4.1.3 → spring@4.1.0). En otro
caso, incluso con marcadores ${…}, usa generic. Para forzar otra:
elide mvn -- --flavor spring@4.1.0 package
elide mvn -- --flavor=spring@4.0.7 -f app/pom.xml installModos
--mode=<value> (o -Dnmvn.mode=<value>; la opción tiene prioridad) determina qué ejecuta los plugins que no están
en la variante:
elide mvn -- --mode=mixed package| Modo | Comportamiento |
|---|---|
native (predeterminado) | Solo se ejecutan los plugins de la variante. Si falta un plugin, falla pronto, indica la variante que lo incluye y sugiere --mode=mixed. |
mixed | Los plugins de la variante se ejecutan de forma nativa; los demás objetivos se ejecutan de uno en uno en una JVM dentro del mismo proceso. |
legacy | Toda la compilación se ejecuta como Apache Maven estándar en la JVM del proceso, como referencia. |
mixed y legacy descargan una distribución de Maven en lib/maven/ en el primer uso. No hace falta un JDK aparte.
Límites del modo mixto
- Cada objetivo delegado añade unos 0,2 s tras un arranque único. Si la mayoría de los objetivos se delegan, elija una variante que incluya más de sus plugins.
- Los artefactos de un objetivo delegado no se adjuntan a la sesión. Si el plugin jar no está en la variante, ejecute
package, noinstallnideploy. - La configuración de plugins desde la línea de comandos solo llega a los objetivos delegados como propiedades
-D.
Salida
Una terminal muestra una línea de estado (plugin, objetivo, versión, módulo) y después un resumen de fases y el tiempo
de compilación; si algo falla, se imprime el registro completo de Maven. --porcelain transmite la salida propia de
Maven, igual que las ejecuciones detalladas, de depuración y no interactivas:
elide mvn -- --porcelain packageInspeccionar una imagen instalada
<elide-home>/lib/maven/bin/nmvn-generic --info
<elide-home>/lib/maven/bin/nmvn-spring-4.1.0 --info=plugins--info imprime la variante, la edición y los plugins; --info=plugins, --info=flavor o --info=variant imprime
solo uno de ellos.
Compatibilidad
Native Maven lee el mismo pom.xml y sigue el mismo ciclo de vida que Apache Maven 4. La cobertura de plugins se
limita a las variantes publicadas. La compilación se ejecuta dentro del proceso; los plugins que lanzan el
compilador en un proceso aparte usan el javac de Elide.