我有以下gradle多项目结构。
root-project
-A
build.gradle
-B
build.gradle
build.gradle
settings.gradle
A
有一些简单的Java代码和几个外部依赖项。 B
已将A
作为compile(':A')
。 B
还有一个适用于apply plugin: 'maven'
的maven插件。
现在,我的问题是每当我执行./gradlew install
时,B
会将A
包含为外部Maven依赖项。使用B
的人无法编译,因为找不到A
。我该如何跳过将maven插件应用于A
并将其所有代码包含在B
中的方法?
答案 0 :(得分:0)
要么:
-
// Project B
dependencies {
implementation(project(":a"))
}
参考:
答案 1 :(得分:0)
如果项目B
正在生产jar,我们有很多选择,但是在我的情况下,它应该是第三方使用的maven依赖项。我找不到一个直接的解决方案。因此,我最终在B中添加了A
的源。在B的build.gradle中是这样的:
sourceSets {
main {
java {
srcDir 'src/main/java'
srcDir '../A/src/main/java'
}
}
}
唯一的缺点是我还必须在A
中包括B
的依赖项。如果有人采用更优雅的方法,我将很乐意接受。