Gradle локальная зависимость JAR не работает - PullRequest
0 голосов
/ 27 апреля 2018

Я довольно новичок в обучении. Это конфигурация моего проекта

Project
.
├── build.gradle
├── sub-project-1
│   ├── build.gradle
├── tests
│   ├── rest
│   └── unit
│       ├── build.gradle // Lets call this unit_build.gradle

Мои модульные тесты зависят от derby.jar, а unit_build.gradle имеет следующее:

dependencies{
    ..
    testCompile fileTree(dir: "${System.getProperty('java.home')}/../db/lib", include: "derby.jar") 
    testCompile fileTree(dir: "${System.getProperty('java.home')}/../db/lib", include: "derbyclient.jar") 
}

Примечание: у нас есть собственный репозиторий, и дерби в него не входит. Поэтому мы используем его, добавив его из локального.

Это прекрасно работает, когда я запускаю сборку Gradle, а затем выполняю тестовое задание.

Но мы также публикуем jar на тестовом сервере и запускаем его там, где он выходит из строя, с исключением класса not found на derby.

В чем может быть причина? Что нужно сделать, чтобы это исправить?

Версия Gradle - 1.12

1 Ответ

0 голосов
/ 04 мая 2018

это происходит потому, что вы выбрали неверную целевую конфигурацию зависимости. Я имею в виду testCompile, вместо этого вы должны использовать: testRuntime или testRuntimeClasspath

...