你當然可以使用tomcat插件。我的設置阻止了我使用/修改開箱即用的戰爭& tomcat選項。
我個人喜歡以下味道(從我的build.gradle複製)。
tomcat_home='tomcat_location'
tomcat_bin=tomcat_home + '/bin'
tomcat_start=tomcat_bin + '/startup.sh'
tomcat_stop=tomcat_bin + '/shutdown.sh'
tomcat_webapps = tomcat_home + '/webapps'
task tom << {
if (project.hasProperty('start')) {
startTom()
} else if (project.hasProperty('stop')) {
stopTom()
} else if (project.hasProperty('deployNstart')) {
stopTom()
webappsCopy()
startTom()
} else {
throw new RuntimeException('unrecognized option')
}
}
def stopTom() {
executeCmd(tomcat_stop)
}
def startTom() {
executeCmd(tomcat_start)
}
def executeCmd(command) {
proc = command.execute()
proc.waitFor()
}
def webappsCopy() {
copy {
from 'war file location' // could be exploded or war itself
into tomcat_webapps
}
}
- 你叫你包括的各種選項在命令行的「嗵」的任務 -
$ gradle tom -Pstart
$ gradle tom -Pstop
$ gradle tom -PdeployNstart
這可能會進一步增長,因爲我添加更多命令/相關選項Tomcat的。幾個要點:
- 移動位置等來gradle.properties,以便它可以在不同的環境中工作 。
- 查詢您的tomcat服務器端口以微調 選項和消息。
- 轉移到可重複使用的插件/任務代碼。
這有限的版本適用於我現在:-)
謝謝,我可能會使用它,而不是! – Dave 2011-03-10 15:56:45