经过几个小时的研究和尝试,我希望有人可以解释我们如何让Gradle包括一个或多个子项目的类到特定的jar中。
让我们说我们只有三个模块
显然,App
和Web
项目工件(jars)应该包含Core
项目中的所有类。
设置gradle:
rootProject.name = 'MyProject'
include 'MyProjectCore'
include 'MyProjectApp'
include 'MyProjectWeb'
MyProjectApp / MyProjectWeb:
...
dependencies {
...
compile project(':MyProjectCore')
}
可以编译项目,但输出jar不包含核心类。
答案 0 :(得分:5)
好吧,最后我找到了一个可行的解决方案,即使它可能不是最好的。
对于App
和Web
项目,我会覆盖jar
这样的任务,以添加Core
模块的源集。
jar {
from project.sourceSets.main.allSource
from project(":MyProjectCore").sourceSets.main.java.srcDirs
}