2011-07-06 56 views
0

我有两个Gradle项目,项目A是一个战争,项目B是一个罐子。项目A依赖于项目B.项目B有一个编译依赖项C.当我构建项目B时,编译依赖项C不包含在生成的jar中,这正是我所期望的。当我建立项目一个项目B被包括在我的战争的lib目录以及编译依赖项C.将项目作为编译时依赖项使用,而不包括它的编译时依赖项?

我想要的是项目B的jar任务的输出被包含在我的war文件的lib目录中, 我怎样才能做到这一点?我在下面粘贴了我的Gradle构建文件的相关片段。

项目一

apply plugin: 'war' 
dependencies { 
    compile project(':B') 
} 

B项目

apply plugin: 'java' 
dependencies { 
    compile (group: 'org.apache.openejb', name: 'C', version: '5.0-3') 
} 
+0

我有一些麻烦理解你的意思。你说你在战争的lib目录中得到B.然后你说你想让B在战争的lib目录中。目前尚不清楚缺乏什么。 – thoredge

回答

0

内部项目中您可以使用providedCompile配置排除一些过渡的依赖条件的被包含在WAR:

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

您可以在WAR插件documentation中阅读更多内容。

相关问题