比较坑的Tomcat闪退(win7)

比较坑的Tomcat闪退(win7)**我的tomcat7用了好久了,可以说是最开始学习javaweb的时候下载的,看着别人的视频里一顿配置,于是我也跟着一顿配置,虽然当时完全不知道在干什么,感觉好厉害的样子!然后直到有一天,你可能把电脑里一些没什么卵用的自己瞎做的项目删除了之后,然后你启动你的tomcat的startup.bat的时候,让人无语的时候来了,只见刷的一下cmd窗口就飞过,然后就没了,你还是一脸蒙逼,什么也不知道。。。…

大家好,又见面了,我是你们的朋友全栈君。

**我的tomcat7用了好久了,可以说是最开始学习javaweb的时候下载的,看着别人的视频里一顿配置,于是我也跟着一顿配置,虽然当时完全不知道在干什么,感觉好厉害的样子!然后直到有一天,你可能把电脑里一些没什么卵用的自己瞎做的项目删除了之后,然后你启动你的tomcat的startup.bat的时候,让人无语的时候来了,只见刷的一下cmd窗口就飞过,然后就没了,你还是一脸蒙逼,什么也不知道。。。。。

这个闪退很让人崩溃,有的时候很无语的就是单独启动Tomcat会闪退,而在Eclipse中用这个Tomcat却能正常工作,WFK!!!,关键你还不知道是什么错误,不知道从哪里入手,相信绝大多数人的想法!其实吧,大概可以从几个方面入手;

第一(很重要):一定一定要检查你的环境变量JAVA_HOME和JRE_HOME(最好配置一下CLASSPATH)有没有错误,我就是有一次JRE_HOME中有个地方打错了,然后我在PATH那里用的是;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin,这样居然一直用了好久没出错,用tomcat的话貌似会检测这些环境变量来找到jdk的那些jar包的。。

第二(不推荐):这是网上绝大多数人解决问题的做法,就是在startup.bat或者setclasspath.bat等这些启动文件中去指定JAVA_HOME、JRE_HOME或者TOMCAT_HOME这些路径,这样我是极其不推荐的!因为这样做有的时候很坑爹,因为一旦你以后要换jdk,你看看你需要改多少东西。。。。。环境变量那里去改就不说了,然后你还要在这里一个个启动文件中去改,有一个地方没改肯定会出问题,你还不知道到底是哪里出问题了,于是你又要重头到尾再看看哪里有遗漏的地方。。。简直日了狗了

第三(可以试试):这个方法就是打开startup.bat文件,在文件的最后一行添加PAUSE,这个命令可以给你一个简单的错误提示,一些小错误可以在黑窗口看到,比如哪个环境变量有错误什么的(记住错误解决之后要将这个PAUSE去掉啊。。)**
在这里插入图片描述

第四(推荐):如果你在第三步中黑窗口显示按任意键继续,恭喜你,你只适合第四步!这一步就是看日志了,每个tomcat都有一个存放日志文件的目录,那里记录着你每次开启tomcat的信息,根据时间打开找到你刚刚启动失败的日志文件,然后打开日志文件(从最下面开始看,最下面的是最新的),就可以慢慢百度查了。。。我就碰到过一个闪退的错误:
在这里插入图片描述
错误如下:

cument base D:\java\java_workapace\Testtomcat\WebContent 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:5286)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5477)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1702)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1692)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

七月 07, 2019 9:29:54 上午 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[]]
	at java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.util.concurrent.FutureTask.get(FutureTask.java:192)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1241)
	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:819)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1702)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1692)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
	... 6 more
Caused by: org.apache.catalina.LifecycleException: Error in resourceStart()
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5478)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
	... 6 more

七月 07, 2019 9:29:54 上午 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:192)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1241)
	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:444)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:758)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:705)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:428)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1702)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1692)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1249)
	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:819)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
	... 6 more

看第一行 cument base D:\java\java_workapace\Testtomcat\WebContent does not exist or is not a readable directory,说的是我这个目录下面有个目录不存在,于是我想了一下,妈耶!这目录我在刚用tomcat的时候瞎搞,在tomcat中的server.xml配置文件中配置了一个虚拟目录,后来清理的时候把这个目录删了。。。。。难怪总是报错,坑啊!!!把这个docBase的内容删了,好了,世界又是如此美好!
在这里插入图片描述
第五(可能性最低):千万别是因为你的jdk和Tomcat版本的问题那就无语了。。。。那你就只能重新装某一个了,这是真的没办法!

就这么多吧!我的这个tomcat一直没舍得删除,就是要看看到底是什么错误,啊哈哈哈!!!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/139176.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 上海it外包公司排名_it外包公司排行榜怎么来的?

    上海it外包公司排名_it外包公司排行榜怎么来的?在我们平时上网的时候,总是看到在一些中介网站上会有一些IT外包公司排行榜,这些排行与其它行业的排行榜一样,指导着我们的选择,为我们的外包工作指出了一条相对明晰的道路。那到底这些网站上的排行准不准确呢?下面我们就为大家解析一下。1.名气和口碑。也许我们对外包行业不是很懂,但是在看其它行业如房地产,家电等与大众息息相关的产业时,就会发现但凡上榜的都是很有名气的,且口碑也很好。这就表明了排行还是比较…

  • java之数组和链表的区别「建议收藏」

    java之数组和链表的区别「建议收藏」数组是有下标索引和data两部分组成链表是有data和指向下一个数据的指针地址两部分组成数组的特点 在内存中,数组是一块连续的区域。拿上面的看电影来说,这几个人在电影院必须坐在一起。 数组需要预留空间,在使用前要先申请占内存的大小,可能会浪费内存空间。比如看电影时,为了保证10个人能坐在一起,必须提前订好10个连续的位置。这样的好处就是能保证10个人可以在一起。但是这样的缺…

  • 断开和服务器共享连接的方法「建议收藏」

    断开和服务器共享连接的方法「建议收藏」断开和服务器共享连接的方法

  • 软件工程系统设计说明书(软件详细设计说明书模板)

    1引言1.1编写目的该文档在概要设计的基础上,进一步的细化系统结构,展示了软件结构的图标,物理设计、数据结构设计、及算法设计、详细的介绍了系统各个模块是如何实现的,包括涉及到的算法,逻辑流程等。预期的读者:程序员1.2背景a. 待开发软件系统的名称:机房收费系统b. 项目的任务提出者:米新江教授c. 项目的开发者:齐智d. 项目的用户:廊坊师范学院全体在职员工及学生e. 运行该软…

  • jmeter测试系统最大并发_jmeter高并发测试

    jmeter测试系统最大并发_jmeter高并发测试操作流程:1.先添加一个线程组2.添加一个查看树*多线程测试指的是在短时间内多次重复请求*多进程测试指的是同一时间内多次重复请求下面图文展示操作步骤:一、添加线程组先新建一个测试计划如下图:创建线程组:在新建的测试计划上右键如下图:线程组参数详解:1.线程数意思是请求多少次2.Ramp-UpPeriod(inseconds)…

  • pytest失败重试_arcmap重分类失败

    pytest失败重试_arcmap重分类失败安装:pip3installpytest-rerunfailures重新运行所有失败用例要重新运行所有测试失败的用例,请使用–reruns命令行选项,并指定要运行测试的最大次数:$py

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号