在同一个项目中使用gradle war和ear插件是否可行/合理?

时间:2014-10-30 03:28:34

标签: java eclipse gradle war ear

我发现ear插件会覆盖war插件并阻止调用war任务。我通过直接调用它来解决它。

这是否合乎逻辑,或者我应该放弃并转移到eclipse和gradle中的多项目设置?

ear {
    doFirst {
        println " - force build war..."
        tasks.war.execute()
    }

    from("$destinationDir") {
        exclude('nz')
        rename ('TrialApp(.*)(.war)', 'TrialApp.war')
        include 'TrialApp*.war'
        into('')
    }
    deploymentDescriptor {  
                applicationName = "trialapp"
                initializeInOrder = true
                displayName = "Trial App"  
                description = "Trial App EAR for Gradle documentation"
                libraryDirectory = "WEB-INF/lib"  
                webModule("TrialApp.war", "TrialApp")  
    }
}

1 个答案:

答案 0 :(得分:4)

Ear插件不会覆盖 War插件,默认情况下它根本不执行war任务。无论如何,你要做的事当然是可能的。而不是将依赖项添加到单独的war项目(如documentation中所述,您可以简单地依赖于war任务本身。

apply plugin: 'war'
apply plugin: 'ear'

dependencies {
    deploy files(war)
}