我有两个Gradle项目,项目A是战争,项目B是jar。项目A依赖于项目B.项目B具有编译依赖性C.当我构建项目B时,编译依赖项C不包含在生成的jar中,这是我所期望的。当我构建项目时,项目B包含在我的战争的lib目录中以及编译依赖项C.
我想要的是项目B的jar任务的输出包含在我的war文件的lib目录中,我该怎么做?我已粘贴下面Gradle构建文件的相关片段。
项目A
apply plugin: 'war'
dependencies {
compile project(':B')
}
项目B
apply plugin: 'java'
dependencies {
compile (group: 'org.apache.openejb', name: 'C', version: '5.0-3')
}
答案 0 :(得分:0)
在项目A内部,您可以使用providedCompile配置来排除某些传递依赖项包含在WAR中:
dependencies {
compile project(':B')
providedCompile (group: 'org.apache.openejb', name: 'C', version: '5.0-3')
}
您可以在WAR插件documentation中详细了解它。