我发现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")
}
}
答案 0 :(得分:4)
Ear插件不会覆盖 War插件,默认情况下它根本不执行war
任务。无论如何,你要做的事当然是可能的。而不是将依赖项添加到单独的war项目(如documentation中所述,您可以简单地依赖于war
任务本身。
apply plugin: 'war'
apply plugin: 'ear'
dependencies {
deploy files(war)
}