【问题标题】:How to stop Tomcat server launched from an Eclipse Gradle Plugin?如何停止从 Eclipse Gradle 插件启动的 Tomcat 服务器?
【发布时间】:2014-01-14 10:58:05
【问题描述】:

我正在阅读来自 http://spring.io 的关于 RESTful Web 服务的教程。
我希望能够从 Eclipse 启动我的 Web 项目作为 Gradle 构建(Run As => Gradle Build...),然后在完成测试后停止它。
我知道如何启动它,但如果不退出 Eclipse(Spring Tool Suite),我就无法让它停止。

有什么建议吗?

【问题讨论】:

  • 你是如何启动 Tomcat 的?你在用Gradle Tomcat plugin吗?
  • 如果 Eclipse 使用 Gradle 的 Tooling API,则不能直接使用。请参阅此报告的问题:issues.gradle.org/browse/GRADLE-1539。这也是 Netbeans 中的一个问题,但我认为 IntelliJ 具有从 gradle 启动的不同技术,并且能够更好地关闭它。我会使用下面建议的自定义任务。

标签: java eclipse spring tomcat gradle


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我可以谦虚地建议您改用 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 上提供。

    【讨论】:

      【解决方案3】:

      在你的build.gradle

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-03
        • 1970-01-01
        • 1970-01-01
        • 2018-10-24
        • 1970-01-01
        相关资源
        最近更新 更多