Передача аргументов в Java-приложение через Gradle задачу
Быстрый ответ
Для передачи аргументов в Java-приложение с использованием Gradle, вам нужно настроить задачу JavaExec
следующим образом:
task runWithArgs(type: JavaExec) {
mainClass = 'com.yourapp.Main'
args 'firstArg', 'secondArg', 'thirdArg'
}
Выполните ./gradlew runWithArgs
и ваше приложение получит все необходимые аргументы.
Работаем с Gradle версии 4.9 и выше
Начиная с версии Gradle 4.9+ передача аргументов значительно упростилась благодаря параметру --args
:
gradle run --args='arg1 arg2 arg3'
Проверьте, что в build.gradle
применён плагин Application и задан главный класс:
apply plugin: 'application'
mainClassName = 'com.yourapp.Main'
Теперь команда run
запускает приложение с переданными аргументами.
Создаем собственные задачи JavaExec? Никаких проблем!
Для определения пользовательских задач JavaExec
достаточно прописать аргументы в методе args
:
task customRun(type: JavaExec) {
main = 'com.yourapp.CustomMainClass'
args 'customArg1', 'customArg2'
}
Запустите ./gradlew customRun
, и ваше приложение будет запущено с заданными аргументами.
Работаем со старыми версиями Gradle (до 4.9)
В Gradle до версии 4.9 аргументы передаются немного иначе — посредством свойства проекта appArgs
:
run {
if (project.hasProperty('appArgs')) {
args Eval.me(appArgs)
}
}
Для запуска приложения используйте следующую команду:
gradle run -PappArgs="['arg1', 'arg2']"
Когда старому Gradle требуется обновление
Если вы хотите использовать параметр --args
, но ваша версия Gradle устарела, может быть, стоит подумать об обновлении.
Не забывайте проверять версию Gradle
Перед началом работы не забудьте проверить версию Gradle, используя команду gradle --version
.
Визуализация
Представьте аргументы для Java-приложения как особые ингредиенты, которые придают блюду неповторимый вкус и уникальность. Настройка процесса передачи аргументов напоминает кулинарию:
task launchRocket(type: JavaExec) {
main = 'com.space.mission.LaunchControl'
args = ['LiquidOxygen', 'RP1']
}
Запуск задачи gradlew launchRocket
напоминает ужин, приготовленный по изысканному рецепту, где каждый аргумент играет свою важную роль.
Полезные материалы
- JavaExec – Gradle DSL версии 8.6 — официальное руководство Gradle по
JavaExec
. - Руководство по созданию надежных Java-приложений — подробное руководство по созданию Java-приложений с использованием Gradle.
- Baeldung о работе с аргументами командной строки — обзор методов обработки аргументов в Gradle.
- GitHub Gist – Примеры запуска Gradle — полезные советы для настройки запуска приложений через Gradle.
- Jvm Bloggers – Сборка Java-проектов с Gradle — опыт успешной работы с Gradle в Java-проектах.