Sha*_*n F 11 groovy dependency-management gradle
我正在使用war插件为gradle中的项目生成一个简单的.WAR文件.我想知道如何配置gradle,这样我就可以创建4个不同依赖关系的.WAR文件.
我已经使用进入分发所需的jar配置了依赖项编译配置.src中的代码都不依赖于几个这些jar,但我想知道如何配置要创建的项目
我配置哪些任务来生成工件使用特定的依赖关系配置?
仅供参考:在这种情况下,编译所需的唯一jar是qas.jar.
我的下面的例子创建了一个war文件,它只包含一个jar,但是我希望用不同的jar生成5个不同的.war文件.
的build.gradle
apply plugin: 'java'
apply plugin: 'war'
dependencies {
compile files('/lib/qas.jar','/lib/axis1-1.4.jar','/lib/axis2-kernel-1.3.jar','/lib/dom4j-1.6.1.jar','/lib/log4j-1.2.14.jar')
providedCompile files('/lib/j2ee-1.4.03.jar')
}
war {
classpath = ['/lib/qas.jar']
}
task dist(dependsOn: 'war') << {
copy {
from war.archivePath
into "dist/"
}
}
Run Code Online (Sandbox Code Playgroud)
Ben*_*hko 19
我对你实际尝试构建的WAR分布有多少感到困惑.您可以轻松修改它以创建其他WAR文件.这是实现这一目标的一种方法:
task createStandardWar(type: War, dependsOn: classes) {
baseName = 'standard'
destinationDir = file("$buildDir/dist")
}
task createStandardWarQasOnly(type: War, dependsOn: classes) {
baseName = 'standard-qas-only'
destinationDir = file("$buildDir/dist")
classpath = war.classpath.minus(files('/lib/axis1-1.4.jar','/lib/axis2-kernel-1.3.jar','/lib/dom4j-1.6.1.jar','/lib/log4j-1.2.14.jar'))
}
task createStandardWarQasAndLog4J(type: War, dependsOn: classes) {
baseName = 'standard-qas-log4j'
destinationDir = file("$buildDir/dist")
classpath = war.classpath.minus(files('/lib/axis1-1.4.jar','/lib/axis2-kernel-1.3.jar','/lib/dom4j-1.6.1.jar'))
}
task createDists(dependsOn: [createStandardWar, createStandardWarQasOnly, createStandardWarQasAndLog4J])
Run Code Online (Sandbox Code Playgroud)
此构建脚本摘录通过声明War类型的增强任务来创建三个不同的WAR文件.它假定您仍然希望将已编译的源文件放在WEB-INF/classesWAR文件中,因此我没有将其从类路径中删除.分发最终在目录中build/dist.任务createDists创造了所有这些.
| 归档时间: |
|
| 查看次数: |
7539 次 |
| 最近记录: |