Create multiple .WAR files with different dependencies in Gradle

前端 未结 1 1281
时光说笑
时光说笑 2020-12-15 09:13

I am using the war plugin to generate a simple .WAR file for my project in gradle. I\'d like to know how to configure gradle so that I can create 4 different .WAR files wit

相关标签:
1条回答
  • 2020-12-15 09:28

    I got a bit confused on how many WAR distributions you are actually trying to build. You can easily modify it to create additional WAR files. Here's one approach to make this happen:

    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])
    

    This build script excerpt creates three different WAR files by declaring enhanced tasks of type War. It assumes that you still want to have your compiled source files under WEB-INF/classes within the WAR files so I didn't remove it from the classpath. The distributions end up in the directory build/dist. The task createDists creates all of them.

    0 讨论(0)
提交回复
热议问题