使用项目作为编译时依赖项而不包括它的编译时依赖项?

时间:2011-07-06 12:24:21

标签: build-automation gradle

我有两个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') 
}

1 个答案:

答案 0 :(得分:0)

在项目A内部,您可以使用providedCompile配置来排除某些传递依赖项包含在WAR中:

dependencies {
   compile project(':B') 
   providedCompile (group: 'org.apache.openejb', name: 'C', version: '5.0-3') 
}

您可以在WAR插件documentation中详细了解它。