【发布时间】:2015-11-11 14:33:48
【问题描述】:
经过数小时的研究和尝试,我希望有人能解释我们如何让 Gradle 将一个或多个子项目的类包含到特定的 jar 中。
假设我们只有三个模块
- 核心
- 应用
- 网络
显然App 和Web 项目工件(jar)应该包含来自Core 项目的所有类。
设置分级:
rootProject.name = 'MyProject'
include 'MyProjectCore'
include 'MyProjectApp'
include 'MyProjectWeb'
MyProjectApp / MyProjectWeb:
...
dependencies {
...
compile project(':MyProjectCore')
}
可以编译项目,但输出 jar 不包含核心类。
【问题讨论】:
-
您要构建什么样的目标包?如果以后应该将其部署到应用程序服务器(我假设这是因为涉及到一个“网络”子项目),您也可以尝试使用 gradle 的 ear 或 war 插件。有专门的依赖范围可以按照你想要的方式添加子 jars/wars。