elide mvn запускає збирання Apache Maven 4 без окремого встановлення Maven чи JDK.
Запуск збирання
elide mvn -- package
elide mvn -- -f app/pom.xml clean install
elide mvn -- --versionУсе після -- передається Maven, крім --flavor, --mode, --yes і --porcelain, які обробляє elide mvn. Корінь
проєкту — найближчий каталог .mvn вище за -f/--file або робочий каталог.
Перший запуск
Кожен варіант завантажується один раз, із запитом під час першого використання:
Native Maven component 'generic' is not installed. Download it now? [Y/n]Образи встановлюються в lib/maven/bin/ у домашньому каталозі Elide. Неінтерактивні сеанси завантажують без запитань;
у терміналі --yes пропускає запит:
elide mvn -- --yes package| Платформа | Архітектура |
|---|---|
| Linux | x86_64, aarch64 |
| macOS | aarch64 |
| Windows | x86_64 |
Варіанти
Варіант — це набір плагінів Maven, які працюють нативно.
| Варіант | Плагіни | Для чого |
|---|---|---|
generic | Стандартний життєвий цикл: clean, resources, compiler, surefire, jar, install, deploy | Звичайні проєкти на Java або Kotlin |
spring@4.1.0 | Усе, що використовує проєкт Boot 4.1 зі Spring Initializr | Spring Boot 4.1.x |
spring@4.0.7 | Те саме для Boot 4.0 | Spring Boot 4.0.x |
Elide вибирає варіант spring, що відповідає major.minor версії батьківського spring-boot-starter-parent або
spring-boot-maven-plugin у pom.xml (Boot 4.1.3 → spring@4.1.0). Інакше, зокрема із заповнювачами ${…},
використовується generic. Щоб вибрати варіант явно:
elide mvn -- --flavor spring@4.1.0 package
elide mvn -- --flavor=spring@4.0.7 -f app/pom.xml installРежими
--mode=<value> (або -Dnmvn.mode=<value>; прапорець має пріоритет) визначає, що запускає плагіни поза варіантом:
elide mvn -- --mode=mixed package| Режим | Поведінка |
|---|---|
native (за замовчуванням) | Працюють лише плагіни варіанту. Відсутній плагін спричиняє ранню помилку з назвою варіанту, у якому він є, і підказкою --mode=mixed. |
mixed | Плагіни варіанту працюють нативно; інші цілі виконуються по одній на JVM у тому самому процесі. |
legacy | Усе збирання виконується як звичайний Apache Maven на JVM усередині процесу, як еталон. |
mixed і legacy під час першого використання завантажують дистрибутив Maven у lib/maven/. Окремий JDK не
потрібен.
Обмеження режиму mixed
- Кожна делегована ціль додає близько 0,2 с після одноразового запуску. Якщо делегується більшість цілей, виберіть варіант, у якому більше їхніх плагінів.
- Артефакти делегованої цілі не прикріплюються до сеансу. Якщо плагіна jar немає у варіанті, запускайте
package, а неinstallчиdeploy. - Конфігурація плагінів із командного рядка передається делегованим цілям лише як властивості
-D.
Вивід
У терміналі показується рядок стану (плагін, ціль, версія, модуль), потім підсумок за фазами й час збирання; у разі
помилки виводиться повний журнал Maven. --porcelain транслює власний вивід Maven, як і докладні, налагоджувальні та
неінтерактивні запуски:
elide mvn -- --porcelain packageПеревірка встановленого образу
<elide-home>/lib/maven/bin/nmvn-generic --info
<elide-home>/lib/maven/bin/nmvn-spring-4.1.0 --info=plugins--info виводить варіант, редакцію та плагіни; --info=plugins, --info=flavor або --info=variant виводить щось
одне.
Сумісність
Native Maven читає той самий pom.xml і дотримується того самого життєвого циклу, що й Apache Maven 4. Підтримка
плагінів обмежена опублікованими варіантами. Компіляція виконується всередині процесу; плагіни, які запускають
компілятор в окремому процесі, використовують javac з Elide.