Это правильный ответ. «Gradle Assembly» также пропустит много других задач. Смотрите эту схему, чтобы получить представление. Для типичных реальных сборок «сборка грейдера» оставит еще больше задач.
Работает, хотя вам может понадобиться добавить, например, -x integTestи так далее, поэтому не так удобно, как одеяло Maven -DskipTests.
Джесси Глик
1
@c_maker, как это сделать из затмения?
rinuthomaz
Возможно ли выполнить файл класса? Я имею в виду, с помощью которого runя вижу эффект моей программы Hello. Но я думаю, что он снова все компилирует. Я хотел бы только выполнить программу Java.
Сигур
107
Пытаться:
gradle assemble
Чтобы перечислить все доступные задачи для вашего проекта, попробуйте:
gradle tasks
ОБНОВИТЬ:
Поначалу это может показаться не самым правильным ответом, но внимательно прочитайте gradle tasksвывод или документы.
Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
В качестве дополнительной подсказки в случае отладки юнит-тестов: gradle assembleне будут компилироваться основные файлы. Если вы работаете над исправлением модульного теста, тогда вам нужно gradle assemble testClasses- я думаю, что наименование задачи сборки довольно запутанное.
Мартин
36
Принятый ответ является правильным.
OTOH, способ, которым я ранее решил это, заключался в добавлении следующего во все проекты:
Для меня это все еще единственный рабочий вариант, так как тест -x, кажется, работает только в начальном проекте, но не для зависимостей в многопроектной сборке (протестировано на Gradle 2.1). Поместите test.onlyif ... в блок configure (subprojects.findAll {javaProjects.contains (it.name)}) {) в корневой каталог build.gradle, и он будет работать для всех проектов.
Тим
Неплохо. Этот способ знаком пользователям maven.
AlexR
23
Вы можете добавить следующие строки build.gradle, **/*исключая все тесты.
пожалуйста, пришлите скриншот страницы. я не знаю, где поставить эту строку кода ....
Хоссейн Мансури
Этот кусок кода должен быть в вашем build.gradle :)
Suganthan Madhavan Pillai
2
Другой способ отключить тестовые задачи в проекте:
tasks.withType(Test) {enabled = false}
такое поведение иногда требуется, если вы хотите отключить тесты в одном из проектов (или в группе проектов).
Этот способ работает для всех видов тестовых задач, а не только для Java-тестов. Также этот способ безопасен. Вот что я имею в виду, скажем: у вас есть набор проектов на разных языках: если мы попытаемся добавить такую запись в main build.gradle:
@KirankumarDafda - нет. Вы можете опубликовать ответ в любое время, даже если существующий ответ был принят. Новый ответ может быть лучше принятого ответа, или решить его по-другому, или иным образом помочь другим. Из обзора .
Вай Ха Ли
@WaiHaLee Я не могу редактировать свой комментарий, но, поскольку я получил предложения для новых пользователей, я хотел объяснить, что попробуйте добавить ответы с дополнительными пояснениями, чтобы другой пользователь мог проверить, почему этот ответ или код полезен для них.
$ gradle tasks
Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
testClasses - Assembles test classes.
Verification tasks
------------------
test - Runs the unit tests.
-DskipTests
для MavenОтветы:
Вы должны использовать
-x
аргумент командной строки, который исключает любую задачу.Пытаться:
Обновить:
Ссылка в комментарии Питера изменилась. Вот схема из руководства пользователя Gradle
источник
-x integTest
и так далее, поэтому не так удобно, как одеяло Maven-DskipTests
.run
я вижу эффект моей программы Hello. Но я думаю, что он снова все компилирует. Я хотел бы только выполнить программу Java.Пытаться:
Чтобы перечислить все доступные задачи для вашего проекта, попробуйте:
ОБНОВИТЬ:
Поначалу это может показаться не самым правильным ответом, но внимательно прочитайте
gradle tasks
вывод или документы.источник
gradle assemble
не будут компилироваться основные файлы. Если вы работаете над исправлением модульного теста, тогда вам нужноgradle assemble testClasses
- я думаю, что наименование задачи сборки довольно запутанное.Принятый ответ является правильным.
OTOH, способ, которым я ранее решил это, заключался в добавлении следующего во все проекты:
Запустите сборку с
-Dskip.tests=true
и все тестовые задачи будут пропущены.источник
Вы можете добавить следующие строки
build.gradle
,**/*
исключая все тесты.источник
Вы можете исключить задачи
https://docs.gradle.org/current/userguide/command_line_interface.html#sec:command_line_executing_tasks
источник
Ссылка
Чтобы исключить любую задачу из Gradle, используйте параметр
-x
командной строки. Смотрите пример нижеВыход:
gradle -q dist -x runningTest
Надеюсь, что это даст вам основные
источник
Другой способ отключить тестовые задачи в проекте:
такое поведение иногда требуется, если вы хотите отключить тесты в одном из проектов (или в группе проектов).
Этот способ работает для всех видов тестовых задач, а не только для Java-тестов. Также этот способ безопасен. Вот что я имею в виду, скажем: у вас есть набор проектов на разных языках: если мы попытаемся добавить такую запись в main
build.gradle
:мы потерпим неудачу в проекте, если у нас нет задачи, называемой тестами
источник
Использование
-x test
пропуска теста, но это также исключает компиляцию кода теста.В нашем случае у нас есть процесс CI / CD, где одна цель - это компиляция, а следующая цель - тестирование (Build -> Test).
Итак, для нашей первой
Build
цели мы хотели убедиться, что весь проект хорошо компилируется. Для этого мы использовали:На следующей цели мы просто выполняем тесты.
источник
Если ваша машина имеет несколько ядер. Однако не рекомендуется использовать параллельную очистку.
источник
Пожалуйста, попробуйте это:
gradlew -DskipTests=true build
источник
В плагине Java :
Gradle build без теста у вас есть два варианта:
но если вы хотите скомпилировать тест:
источник