Мой файл setting.gradle выглядит так
rootProject.name = 'MainProject'
include 'ModuleA'
include 'ModuleB'
include 'ModuleC'
MainProject build.gradle выглядит так
plugins {
................
}
subprojects {
group = 'com.example'
version = '0.0.1-SNAPSHOT'
apply plugin: "java"
apply plugin: 'java-library'
repositories {
mavenCentral()
jcenter()
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
dependencies {
...........
}
dependencyManagement {
imports {
.............
}
}
compileJava {
sourceCompatibility = 1.8
targetCompatibility = 1.8
}
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
}
ModuleA build.gradle похож на
dependencies {
.............
compile(":ModuleB")
compile(":ModuleC")
}
ModuleB build.gradle
dependencies {
.............
}
Module c build.gradle
dependencies {
.............
}
Итак, ModuleA зависит от ModuleB Мое требование похоже на тестовый класс ModuleA, я хочу использовать класс ModuleB для создания объекта и вызова методов ModuleB. Так же, как и интеграционное тестирование.
Проблема, с которой я столкнулся, похожа на невозможность импортировать классы ModuleB и Module C в ModuleA и создать объект для вызова их методов. Даже после выполнения чистой сборки на уровне проекта.