разница gradle между testRuntime и testProvided

один вопрос:

в Gradle, есть несколько конфигураций, предоставляемых из коробки. Например testCompile, testProvided, testRuntime, javaCompile, javaProvided и так далее...

не могли бы вы объяснить какая разница?

2 ответов


конфигурации позволяют вам устанавливать зависимости. Учитывая эту иерархию конфигурации:

testRuntime -> testCompile -> runtime -> compile

каждая конфигурация помогает вам ограничить, где находятся ваши зависимости. * Конфигурации среды выполнения позволяют включать зависимость, но не имеют ее в качестве зависимости компиляции. Это полезно, когда вы хотите сохранить структуру, слабо связанную с проектом. Зависимость среды выполнения означает, что она нужна для запуска приложения, но не для компиляции.

то же самое применяется для конфигураций test*.

Ref:


в дополнение к ответу этана:provided конфигурации содержат зависимости, которые используются во время компиляции, но не упакованных в конечный артефакт. Это, например, полезно при разработке для контейнера, который предоставляет эти зависимости уже в процессе установки.