Как исключить зависимость из конечного артефакта (jar), но нужно использовать при компиляции и запуске модульного теста в gradle - PullRequest
0 голосов
/ 11 марта 2019

У меня есть зависимость, которую нужно использовать при компиляции или запуске модульного теста для этого проекта, но я не хочу включать ее в мой последний артефакт (файл jar), потому что я буду указывать эту зависимость в пути к классам при использованииКоманда "Java XX.JAR", чтобы запустить его.Ниже моя текущая конфигурация в build.gradle.

конфигурации {предоставленный модуль runtime.excludeRuntime: 'dependencyA'}

dependencies {compile ('groupA: dependencyA: versionX')}

Приведенный выше параметр может обеспечить работу зависимостей A при компиляции проекта, а также исключить зависимость A из окончательного файла JAR.Но когда запускается модульное тестирование, он не может найти зависимость A, поскольку он исключается.Как я могу включить зависимость для выполнения модульного теста, а между тем исключить зависимость из окончательного файла JAR?

1 Ответ

1 голос
/ 12 марта 2019

Более простое решение заключается в следующем:

dependencies {
    // Makes the dependency appear _only_ on compileClasspath
    compileOnly('groupA:dependencyA:versionX')
    // Makes the dependency appear _only_ on testRuntimeClasspath
    testRuntimeOnly('groupA:dependencyA:versionX')
}

См. документацию для объяснения различных конфигураций, доступных через плагин java

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...