1、问题描述:
今天用myeclipse写了个小demo,然后用Tomcat7 部署了,接着点击启动服务器,服务器居然报错:
严重: Error starting static Resources
java.lang.IllegalArgumentException: Document base H:\software\apache-tomcat\apache-tomcat-7.0.52\webapps\lemon does not exist or is not a readable directory
       at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:136)
       at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:5089)
       at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5269)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
       at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
       at java.util.concurrent.FutureTask.run(FutureTask.java:262)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
       at java.lang.Thread.run(Thread.java:745)
四月 22, 2017 6:57:41 下午 org.apache.catalina.core.ContainerBase startInternal
严重: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/lemon]]
       at java.util.concurrent.FutureTask.report(FutureTask.java:122)
       at java.util.concurrent.FutureTask.get(FutureTask.java:188)
       at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
       at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:799)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
       at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
       at java.util.concurrent.FutureTask.run(FutureTask.java:262)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
       at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/lemon]]
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
       ... 6 more
Caused by: org.apache.catalina.LifecycleException: Error in resourceStart()
       at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5270)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       ... 6 more
四月 22, 2017 6:57:41 下午 org.apache.catalina.core.ContainerBase startInternal
严重: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
       at java.util.concurrent.FutureTask.report(FutureTask.java:122)
       at java.util.concurrent.FutureTask.get(FutureTask.java:188)
       at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
       at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:731)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       at org.apache.catalina.startup.Catalina.start(Catalina.java:689)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke(Method.java:606)
       at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:321)
       at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
       at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
       at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
       at java.util.concurrent.FutureTask.run(FutureTask.java:262)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
       at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
       at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131)
       at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:799)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       ... 6 more
四月 22, 2017 6:57:41 下午 org.apache.catalina.startup.Catalina start
严重: The required Server component failed to start so Tomcat is unable to start.
org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
       at org.apache.catalina.startup.Catalina.start(Catalina.java:689)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke(Method.java:606)
       at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:321)
       at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
       at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:731)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       ... 7 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
       at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       ... 9 more
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
       at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131)
       at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       ... 11 more
2、问题分析:
Document base H:\software\apache-tomcat\apache-tomcat-7.0.52\webapps\lemon does not exist or is not a
这句话告诉我们在tomcat的webapps下找不到lemon这个项目 看了看 确实没有. 

此时,我能想到的就是work这个临时文件夹,一般出错都是这个临时文件夹搞的鬼,但是delete掉后,问题依旧。

思来想去,想起了eclipse的workspace下的.metadata下的plugins内的插件org.eclipse.wst.server.core下有个配置文件servers.xml是指定部署项目的相关配置.

于是,我就想myeclipse一般是部署在真实的tomcat上,应该会修改 tomcat的配置文件,因此我找到了tomcat的配置文件server.xml

打开发现,

3、问题解决:
查了下context标签的意思,原来,
<!-- tomcat配置的虚拟路径 docBase="应用的实际目录" 如果用myclipse编写 则是webRoot Tomcat热部署 -->
      <!-- <Context docBase="lemon" path="/lemon" reloadable="true" source="org.eclipse.jst.j2ee.server:lemon"/> -->
最后,我分析可能是因为我们在用myeclipse开发时,由于某种误操作导致myeclipse没有及时去更新server.xml配置文件,导致遗留了一些无效配置。
删掉最后的那句<!-- <Context docBase="lemon" path="/lemon" reloadable="true" source="org.eclipse.jst.j2ee.server:lemon"/> -->,服务器正常启动!
 

【Tomcat】热部署的遗留配置导致服务器无法启动的更多相关文章

  1. IDEA/JRebel实现内部/外部/远程Tomcat热部署Spring Boot

    1 概述 所谓热部署,对于Java应用程序来说,就是在运行时更新Java类文件.IDEA可以使用自带的Spring Boot热部署的方式进行本地/远程热部署,或者使用JRebel进行本地/远程热部署, ...

  2. JAVAEE——宜立方商城14:项目部署规划、Tomcat热部署、反向代理的配置

    1. 学习计划 1.系统部署 2. 项目部署 2.1. 项目架构讲解 2.2. 网络拓扑图 2.3. 系统部署 2.3.1. 部署分析 e3-manager e3-manager-web e3-por ...

  3. 持续集成环境--Tomcat热部署导致线程泄漏

    一.问题由来 我们组用jenkins部署了持续集成环境,(jenkins部署war包到远程服务器的tomcat). 每次提交了代码,jenkins上一键构建,就可以自动拉取最新代码,打war包,热部署 ...

  4. IDEA第二章----配置git、tomcat(热部署)、database,让你的项目跑起来

    第一节:下载git客户端,整合idea 由于博主公司用的git版本管理,所以本系列都是基于git版本工具的,当然SVN与git配置类似.git同样支持安装版和解压版,支持各种操作系统,我这里下载的是W ...

  5. Tomcat热部署及错误排查

    Maven的热部署 第一步:配置Tomcat的登陆的用户名与密码 C:\apache-tomcat-7.0.33\conf\ tomcat-users.xml  从第36行开始配置     <r ...

  6. Tomcat热部署,Web工程中线程没有终止

    近期项目中,用 jenkins 热部署 web工程时,发现工程中静态持有的线程(将ScheduledExecutorService定时任务存储在静态Map中),导致不定时出现数据库访问事务关闭异常,如 ...

  7. tomcat热部署.class

    本人是在维护公司系统时遇到的问题,由于公司的系统是部署到客户服务器上,而系统中存在的问题又比较多,需要经常维护.如果每次修改完class文件后都需要去重启服务器, 那会给用户的使用造成不便,所以需要使 ...

  8. Tomcat热部署的实现原理

    Tomcat热部署机制 对于Java应用程序来说,热部署就是在运行时更新Java类文件.在基于Java的应用服务器实现热部署的过程中,类装入器扮演着重要的角色.大多数基于Java的应用服务器,包括EJ ...

  9. tomcat热部署,更改java类不用重新加载context

    修改类后,tomcat热部署会重新加载整个项目的context,影响开发效率.网上查的大多数是将server的modules标签中Auto Reload项改为Disabled,但是没有效果. 使用以下 ...

随机推荐

  1. [题解] [AtCoder2134] Zigzag MST

    题面 题解 考虑kruscal的过程 对于三个点\(x, y, x + 1\), 我们可以将\((x, y, z), (y, x + 1, z + 1)\)看做\((x, y, z), (x, x + ...

  2. How to change the button text of <input type=“file” />?

    How to change the button text of <input type=“file” />? Simply <label class="btn btn-p ...

  3. ORA-00600: internal error code, arguments: [kdBlkCheckError]

    ORA-00600: internal error code, arguments: [kdBlkCheckError] Table of Contents 1. 现象 2. 分析 3. 故障处理 1 ...

  4. tableau extension 调研

    概述 最近调研了一下 tableau extensions 的实现,有一些心得,记录下来,供以后开发时参考,相信对其他人也有用. 总的来说,写 tableau extensions 还是挺简单的,只是 ...

  5. Nova 实现的 Fit Instance NUMA to Host NUMA 算法

    目录 文章目录 目录 前文列表 numa_fit_instance_to_host _numa_fit_instance_cell _numa_fit_instance_cell_with_pinni ...

  6. Selenium 2自动化测试实战24(webdriver原理)

    一.webdriver原理 webdriver是按照Server-Client的经典设计模式设计的.Server端就是Remote Server,可以是任意的浏览器.当我们的脚本启动浏览器后,该浏览器 ...

  7. RxJava2实战--第八章 RxJava的背压

    RxJava2实战--第八章 RxJava的背压 1 背压 在RxJava中,会遇到被观察者发送消息太快以至于它的操作符或者订阅者不能及时处理相关的消息,这就是典型的背压(Back Pressure) ...

  8. web容器启动加载WebApplicationContext和初始化DispatcherServlet

    原文地址:http://blog.csdn.net/zghwaicsdn/article/details/51186915 ContextLoaderListener监听器,加载ROOT WebApp ...

  9. 基于.net 4.0框架的Cipher演示程序

    using System.Text; namespace Cipher.Algorithm { static class Caesar { static public string Encrypt(s ...

  10. Control的Invoke和BeginInvoke

    转载:https://www.cnblogs.com/c2303191/articles/826571.html 近日,被Control的Invoke和BeginInvoke搞的头大,就查了些相关的资 ...