我正在浏览http://spring.io关于RESTful网络服务的教程 我希望能够从Eclipse启动我的Web项目作为Gradle构建( Run As => Gradle Build ... ),然后在我完成测试时停止它。登记/> 我知道如何启动它,但我不能在不退出Eclipse(Spring Tool Suite)的情况下停止它。
任何建议?
答案 0 :(得分:3)
借用Gradle Tomcat plugin文档,只需执行此操作:
ext {
tomcatStopPort = 8081
tomcatStopKey = 'stopKey'
}
task doTomcatRun(type: org.gradle.api.plugins.tomcat.TomcatRun) {
stopPort = tomcatStopPort
stopKey = tomcatStopKey
daemon = true
}
task doTomcatStop(type: org.gradle.api.plugins.tomcat.TomcatStop) {
stopPort = tomcatStopPort
stopKey = tomcatStopKey
}
task someTask(type: SomeGradleTaskType) {
//do stuff
dependsOn doTomcatRun
finalizedBy doTomcatStop
}
在此示例中,someTask
是您执行的Gradle任务,在任务运行之前启动Tomcat,并在任务完成后停止Tomcat。
如果您更喜欢手动操作,那么只需配置然后通过Eclipse运行tomcatStop
任务:
tomcatStop {
stopPort = 8090
stopKey = 'foo'
}
答案 1 :(得分:0)
请允许我谦卑地建议您使用gradle“jetty”插件。考虑:
a)它支持jettyRun,jettyRunWar和jettyStop任务。
b)它使用jetty 6,因此与servlet-api 2.5兼容(tomcat的等效版本为6)。
如果你对旧的jetty / servlet-api不满意,请随意尝试“gretty”插件(我写的) - 它支持jetty 7/8/9和servlet-api 2.5 / 3.0.1 / 3.1。 0。 Gretty插件可在maven central和github上使用:https://github.com/akhikhl/gretty。该文档也在github上提供。
答案 2 :(得分:0)
在build.gradle
[tomcatRun, tomcatRunWar, tomcatStop]*.stopPort = 8081
[tomcatRun, tomcatRunWar, tomcatStop]*.stopKey = 'stopKey'