我有以下构建结构:
rootProject
|--> subProjectA
|--> dependencies(someDependantJar-1.0.jar)
|
|--> subProjectB
|--> dependencies(subProjectA)
在 subProjectB 中,我对Scala有以下声明,因为我的Scala依赖于来自 subProjectA 的外部JAR,并且它需要先编译,因为我的Java编译依赖于我的scala代码(不是相反):
apply plugin: 'scala'
compileScala.taskDependencies.values = compileScala.taskDependencies.values - 'compileJava'
compileJava.dependsOn compileScala
sourceSets {
main {
scala {
srcDir 'src/main/java'
}
}
}
当我跑步时:
subProjectB:compileScala
我的 subProjectB 的编译问题没有在 subProjectA 的someDependantJar-1.0.jar中找到类。
当我跑步时:
println '___ dependencies ________________________________________________'
configurations.compile.dependencies.each { dep -> println dep.name }
println '__________________________________________________________________'
我得到以下依赖项列表:
___ dependencies ________________________________________________
commons-lang
[omit for brevity]
subProjectA
__________________________________________________________________
所以我没有看到someDependantJar-1.0.jar并且希望有人可以解释这个问题,所以我不必在subProjectA和subProjectB中定义传递依赖(重复)
答案 0 :(得分:0)
您没有在subProjectB中定义编译依赖项。 不确定我是否正确设置,我认为你需要将依赖项添加到someDependantJar?你尝试在projectA上的projectB中添加一个依赖项
configurations{
compile ":someDependentJar:1.0"
}
欢呼声, 勒