Eclipse 如何知道 Tomcat 服务器是否为 运行?

How does Eclipse know if a Tomcat server is running?

我 运行 在 Centos 上使用 Eclipse Luna 遇到了一个奇怪的情况。我配置了一个 Tomcat 7.0 服务器,使用配置文件的项目元数据。 (实际上是 TomEE,但我认为这无关紧要)。当我从 Eclipse 中启动服务器时,我可以在控制台 window 中看到它启动了,并且我可以通过与它交互来确认服务器正在 运行ning,但是图例显示在服务器 window 永远不会从 "Starting....." 更改为 "Started",并且 Eclipse 使启动操作超时 "The server failed to start within ... seconds."

Eclipse 通常如何确定它拥有的服务器是否已成功启动?这里可能发生了什么?

[编辑补充:] TomEE 1.7.1 和最近的 TomEE 1.7.2-SNAPSHOT 出现同样的问题,Eclipse 版本是: 面向 Web 开发人员的 Eclipse Java EE IDE。

版本:Luna 服务版本 1a (4.4.1) 构建 ID:20150109-0600

eclipse 服务器配置中有以秒为单位的超时选项。如果它低于默认要求,您将 运行 进入此问题。使用对您的应用程序合理的值更新它。检查 this 了解更多详情。

我的问题是我的服务器配置为不侦听任何 http 端口,仅侦听 https 端口。 eclipse 插件想要找到一个 http 端口,它可以在该端口上 ping 服务器以查看它是否 运行。如果没有配置 http 端口,插件会自动失败。这可能是一个错误,我会报告它...而不是默默地失败,插件应该抱怨缺少 http 端口。

更具体地说,查看第 540 行附近 https://github.com/eclipse/webtools.servertools/blob/master/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerBehaviour.java 处的 Eclipse 插件代码(查找注释“//ping server for startup”)我看到插件正在寻找一个 http 端口它可以 ping 服务器以查看它是否处于活动状态。