繁体   English   中英

如何阻止从Eclipse Gradle插件启动的Tomcat服务器?

[英]How to stop Tomcat server launched from an Eclipse Gradle Plugin?

我正在浏览http://spring.io关于RESTful webservices的教程。
我希望能够从Eclipse启动我的Web项目作为Gradle构建( Run As => Gradle Build ... ),然后在我完成测试后停止它。
我知道如何启动它,但我不能在不退出Eclipse(Spring Tool Suite)的情况下停止它。

有什么建议?

要借用Gradle Tomcat插件文档,只需执行以下操作:

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'
}

我谦虚地建议你使用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上提供。

在你的build.gradle

[tomcatRun, tomcatRunWar, tomcatStop]*.stopPort = 8081
[tomcatRun, tomcatRunWar, tomcatStop]*.stopKey = 'stopKey'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM