Tomcat没有在eclipse中开始

时间:2015-07-24 07:04:08

标签: java eclipse spring tomcat

我正在使用Eclipse Indigo for Spring 3.0和mybatis 3.0应用程序使用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 个答案:

答案 0 :(得分:1)

  

解决方案1:

更改超时时间:

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

解决方案2:

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

  

解决方案3:

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

  

解决方案4:

转到 Windows选项 - > 选择偏好

选择常规 - > 网络连接

选择有效提供商作为手动

然后重启tomcat并运行。

  

解决方案5:

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

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

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

请删除所有断点,希望任何一个解决方案都可以使用

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

答案 1 :(得分:-1)

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

  

警告:忽略XML验证警告org.xml.sax.SAXParseException;   lineNumber:15; columnNumber:31; schema_reference.4:无法读取   架构文件   ' http://www.springframework.org/schema/context/spring-context-4.0.xsd&#39 ;,   因为1)找不到文件; 2)文件不可能   读; 3)文档的根元素不是。在   com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(未知   来源)at   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; lineNumber:15; columnNumber:31;   cvc-complex-type.2.4.c:匹配的通配符是严格的,但没有   可以在元素' context:annotation-config'。

中找到声明      

引起:org.xml.sax.SAXParseException; lineNumber:15;   columnNumber:31; cvc-complex-type.2.4.c:匹配的通配符是   严格,但没有声明元素的声明   '上下文:注解的配置'

     

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

中找到声明      

引起:org.xml.sax.SAXParseException; lineNumber:15;   columnNumber:31; cvc-complex-type.2.4.c:匹配的通配符是   严格,但没有声明元素的声明   '上下文:注解的配置'

所以我检查了WEB-INF文件夹中的servlet.xml文件,发现xsi:schemaLocation声明使用的是4.0版本,但是在我的lib文件夹中,我有1.0.5版本的jar版本。所以我在servlet.xml中更改为3.0并修复了问题。因此,如果任何人在启动时在tomcat和服务器中遇到超时问题,则会在控制台中停留在此行 -

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

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

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