【问题标题】:Tomcat not starting in eclipse [duplicate]Tomcat没有在eclipse中启动[重复]
【发布时间】:2015-07-24 07:04:08
【问题描述】:

我在 Spring 3.0 和 mybatis 3.0 应用程序中使用带有 Eclipse Indigo 的 tomcat 6.0,并且我使用 Java 7。我的问题是 tomcat 没有启动,我收到以下消息的对话框:

Server Tomcat v6.0 Server at localhost was unable to start within 55
seconds. If the server requires more time, try increasing the timeout
in the server editor.

我尝试将超时时间增加到 2 分钟,但我仍然收到相同的消息。在控制台中打印tomcat启动消息的下面一行打印为最后一行:

INFO: Loading XML bean definitions from ServletContext resource
[/WEB-INF/rest-servlet.xml]

它之前工作正常。但是今天我开始在运行 tomcat 时收到超时消息。

可能是什么问题?

【问题讨论】:

  • 将超时时间更改为 2 分钟后,您收到的消息完全相同吗?您在哪里编辑了超时时间?
  • 嗯,你应该进入tomcat文件夹,打开conf目录,打开server.xml,你会发现那里有类似
  • @anujprashar 你能解决吗?
  • @WeareBorg,我尝试根据您的消息更改超时,但没有成功。
  • 你必须重新启动服务器,我在我的机器上做了同样的事情。此外,编辑其他连接器的连接超时,尤其是 8443。并将值设置为 200000。或者更好的是,将 server.xml 粘贴到主帖子中。

标签: java eclipse spring tomcat


【解决方案1】:

解决方案 1:

更改超时时间:

  • 打开您的服务器视图
  • 双击服务器
  • 检查超时(为开始添加一个大数字)说 20000

解决方案 2:

有时它只是一个不同步的库或源文件夹。请确保清理工作目录、清理项目并重新发布它们。

解决方案 3:

完全删除服务器及其重新配置并将其重新添加到 Eclipse Check steps here

解决方案 4:

转到 Windows 选项 -> 选择首选项

选择常规 -> 网络连接

然后选择 Active Provider 作为 Manual

然后重启tomcat并运行。

解决方案 5:

将 java 编译器和 WTP tomcat 运行时配置为相同的 JVM 版本

两个版本必须相同,如果您使用较低版本的 JVM 运行使用较高版本 Java Compiler 编译的类文件,则可能会出错。

  • Java 编译器的版本在项目属性->Java Build Path-->Libraries Tab---> Select "JRE System Library" -->Edit 中配置
  • 雄猫:Servers View --> double click your tomcat server --> Runtime Environment

请删除所有断点,希望任何一种解决方案都有效

注意:这样我们可以在eclipse中分析服务器问题: Apache Tomcat 6.0 Server Unable to Start

【讨论】:

  • 我尝试了你提到的所有步骤。它没有帮助,我收到相同的超时消息。
  • 我可以看看你的日志吗?还显示您的 servlet 配置
  • 您会尝试重新启动笔记本电脑,清理服务器并重新启动吗?它有时对我有帮助
  • 我试过重启电脑。通过日志,您正在谈论来自 tomcat 目录的日志文件?我检查了它,它显示了问题发生之前今天最后一次成功的服务器启动日志。
  • 请尝试解决方案 5
【解决方案2】:

我能够解决这个问题。清理项目 tomcat 启动后,但在下次启动时再次出现问题。在控制台中我发现以下错误-

警告:忽略 XML 验证警告 org.xml.sax.SAXParseException; 行号:15;列号:31; schema_reference.4:读取失败 架构文件 'http://www.springframework.org/schema/context/spring-context-4.0.xsd', 因为 1) 找不到文件; 2) 文件不能 读; 3) 文档的根元素不是 .在 com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(未知 来源)在 com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.warning(未知 来源) 2015 年 7 月 24 日下午 2:31:11 org.springframework.web.servlet.FrameworkServlet initServletBean 严重:上下文初始化失败 org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: 来自 ServletContext 资源的 XML 文档中的第 15 行 [/WEB-INF/rest-servlet.xml] 无效;嵌套异常是 org.xml.sax.SAXParseException;行号:15;列号:31; cvc-complex-type.2.4.c:匹配通配符是严格的,但是没有 可以找到元素“context:annotation-config”的声明。

原因:org.xml.sax.SAXParseException;行号:15; 列号:31; cvc-complex-type.2.4.c:匹配的通配符是 严格,但找不到元素的声明 '上下文:注释配置'。

2015 年 7 月 24 日下午 2:31:11 org.apache.catalina.core.ApplicationContext 日志严重:StandardWrapper.Throwable org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: 来自 ServletContext 资源的 XML 文档中的第 15 行 [/WEB-INF/rest-servlet.xml] 无效;嵌套异常是 org.xml.sax.SAXParseException;行号:15;列号:31; cvc-complex-type.2.4.c:匹配通配符是严格的,但是没有 可以找到元素“context:annotation-config”的声明。

原因:org.xml.sax.SAXParseException;行号:15; 列号:31; cvc-complex-type.2.4.c:匹配的通配符是 严格,但找不到元素的声明 '上下文:注释配置'。

所以我检查了 WEB-INF 文件夹中的 servlet.xml 文件,发现 xsi:schemaLocation 声明使用的是 4.0 版本,但在我的 lib 文件夹中,我有 3.0.5 版本的 spring 罐子。所以我在 servlet.xml 中改为 3.0 并解决了问题。因此,如果有人在启动时在 tomcat 和服务器中遇到超时问题,则卡在控制台中的这一行-

INFO: Loading XML bean definitions from ServletContext resource
[/WEB-INF/rest-servlet.xml]

然后请检查 servlet.xml 文件中 spring jar 的版本和版本。

我想知道它以前是如何运行的,可能是从网络加载定义。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-02
    • 2021-03-19
    • 1970-01-01
    • 2015-10-21
    • 2016-08-22
    • 2015-03-08
    • 1970-01-01
    相关资源
    最近更新 更多