разница gradle между testRuntime и testProvided
один вопрос:
в Gradle, есть несколько конфигураций, предоставляемых из коробки.
Например testCompile
, testProvided
, testRuntime
, javaCompile
, javaProvided
и так далее...
не могли бы вы объяснить какая разница?
2 ответов
конфигурации позволяют вам устанавливать зависимости. Учитывая эту иерархию конфигурации:
testRuntime -> testCompile -> runtime -> compile
каждая конфигурация помогает вам ограничить, где находятся ваши зависимости. * Конфигурации среды выполнения позволяют включать зависимость, но не имеют ее в качестве зависимости компиляции. Это полезно, когда вы хотите сохранить структуру, слабо связанную с проектом. Зависимость среды выполнения означает, что она нужна для запуска приложения, но не для компиляции.
то же самое применяется для конфигураций test*.
Ref:
- Ш Документы - настройки зависимостей
в дополнение к ответу этана:provided
конфигурации содержат зависимости, которые используются во время компиляции, но не упакованных в конечный артефакт. Это, например, полезно при разработке для контейнера, который предоставляет эти зависимости уже в процессе установки.