О структуре вашего проекта ...
Лучше всего иметь одну папку lib вместо одной для каждого проекта.
Ваша структура каталогов выглядит следующим образом:
project/settings.gradle
project/ProjectA/lib
project/ProjectA/src
project/ProjectB/lib
project/ProjectB/src
Есть какая-то конкретная причина, по которой вы хотите иметь папку lib для каждого подпроекта? Это кажется лучшей идеей:
project/settings.gradle
project/lib
project/ProjectA/src
project/ProjectB/src
Вы можете создать build.gradle в корневом каталоге проекта (project / build.gradle), который содержит следующее:
subprojects{
apply plugin: 'java'
repositories {
flatDir name: 'localRepository', dirs: "$rootProject.projectDir/lib"
}
}
Таким образом, вы можете сбросить все ваши зависимости в проект / lib.
О ваших тестовых зависимостях ...
Вы также можете поместить свои зависимости testCompile в этот корневой файл build.gradle. Становится:
subprojects{
apply plugin: 'java'
repositories {
flatDir name: 'localRepository', dirs: "$rootProject.projectDir/lib"
}
dependencies{
testCompile group: 'junit', name: 'junit', version: '4.+'
testCompile group: 'org.easymock', name: 'easymock', version: '2.5.2'
}
}
Таким образом, вам не нужно указывать зависимость testCompile в файле build.gradle каждого подпроекта.
Однако, когда я собираюсь строить,
фактический путь к классу используется только для javac
включает в себя прямые зависимости
ProjectB, и банка, сгенерированная
Здание Проекта.
Чтобы скомпилировать ProjectB, вам нужен только ProjectA. Только ProjectA - ваша зависимость от компиляции; Компиляционные зависимости ProjectA становятся переходными зависимостями ProjectB.