启动tomcat遇到问题解决

解决个tomcat启动问题耽误了好久啊,从昨天一天弄到今天中午才解决了,之前关于tomcat其实也算是个菜鸟,踩了几个坑。

总结梳理一下我的解决过程,从百度一步步搜索出来的:

首先是我在tomcat中直接运行startup.bat,一闪而过,用eclipse启动,出现Server Tomcat v7.0 Server at localhost failed to start这个错误。首先至少要在运行startup.bat在cmd上打印出错误信息吧!

先记事本打开startup.bat,找到最后一句话::end,我们知道end表示结束的意思,:end是一个标记,我们在后面加上一句pause (暂停等待的意思);
再次执行startup.bat,就会看到如图,当我们按任意的键时cmd窗口又是一闪而过了。但是这已经确定了我们的环境变量都是正确的。

启动tomcat遇到问题解决_第1张图片

启动tomcat遇到问题解决_第2张图片

启动tomcat遇到问题解决_第3张图片



为了更加详细的看到信息,我们再来更改一句:找到call "%EXECUTABLE%" start %CMD_LINE_ARGS% 把里面的start替换为run。再来看看cmd窗口里面输出错误信息了:
error occurred during initialization of vm could not reserve enough space for object heap could not create the java virtual machine
我们大体可以理解为:因为程序初始化时请求不到足够的内存,导致vm程序退出。

启动tomcat遇到问题解决_第4张图片启动tomcat遇到问题解决_第5张图片

解决办法:那么既然找到了问题的原因,我们可以来解决这个问题了:申请足够的内存就可以了
如下操作:在catalina.bat中 找到Execute The Requested Command下面的
set JAVA_OPTS把这一句替换为:
set JAVA_OPTS= -server -Xms800m -Xmx800m -XX:MaxNewSize=256m
关于set JAVA_OPTS这句话其实有很多种替换的方式,但是大体上都是一样的
再次启动startup.bat 会看到 我们期待已久的画面啦。
启动成功啦!

不过,很遗憾的是,我遇到的不是这个的原因:

我遇到的原因是:

An incompatible version 1.1.12 of the APR based Apache Tomcat Native library is installed, while Tomcat requires version 1.1.32

解决办法:

你替换成了 1.1.30 版本之前确信你已经删除掉了所有旧的版本?要知道 windows 喜欢在 system32 下某个隐藏的目录下复制一份 dll 的副本(具体哪个 dll 会复制到这里我也不确定,你得手工检查一次,Windows\System32 下搜索一次,把所有同名的删除掉),隐藏的哦,需要在文件夹选项中把它显示出来,把那些缓存的版本也删除干净。


把下面这段文字保存成一个 search.bat:

@ echo  File %1 is found at %~dp$PATH:1

然后输入命令:

C:\>search jscript.dll
File jscript.dll is found at C:\WINDOWS\system32\

我们能用它找出来你的 dll 到底是从哪个目录下找到的,每次你删除一个  dll 后再运行一次这个命令检查还有哪个目录下有它。确保在 tomcat\bin 目录之外再也没有了,以后就把你最新的版本放在 tomcat\bin 下就可以了。

然后下载一个 tcnative-1.dll,版本是1.1.32装在C://Windows/System32/下,在tomcat\bin再放一个。启动

问题就暂时解决了一大半了

然后用eclipse启动项目的时候,还是有a child ……这个问题

原因就是部署在tomcat上的项目配置有问题,把有问题的项目移除就好了。


还有就是8080端口被占用的问题:

可以在cmd中,输入netstst -ano,然后找到:8080端口是否被listening

如果是,找到后面的PID号,记下来,然后去启动任务管理器,找到服务,然后找到进程,结束进程。当然,一般情况下这个进程都是javaw.exe。



双击,启动tomcat遇到问题解决_第6张图片

增加start时间就好,当然,我也没有遇到这个问题啦

你可能感兴趣的:(tomcat)