我有一个多项目Gradle构建结构,其中子项目依赖于JAR,我不想在WAR文件中.我试过"排除"但它不起作用.
主要项目脚本:
apply plugin: 'war' war { dependencies { runtime (project(':childProject')) { exclude group: 'javax.servlet.jsp', module: 'jsp-api' } } }
childProject脚本:
apply plugin: 'java' dependencies { compile 'javax.servlet.jsp:jsp-api' }
John Vint.. 23
从Gradle文档中
War插件添加了两个依赖配置:providedCompile和providedRuntime.这些配置与相应的编译和运行时配置具有相同的范围,除了它们未添加到WAR归档中.
因此,换句话说,添加一个条目providedCompile
或providedRuntime
将导致从war文件中排除该依赖项.
使用providedCompile
,如果你有依赖于某些类编译源
使用providedRuntime
,如果你用它来测试,而不是进行编译.
http://www.gradle.org/docs/current/userguide/war_plugin.html
例
providedCompile "javax.servlet:servlet-api:2.5"