这几天在windows xp(雨林木风)装Tocmat6时,遇到了不能创建jvm的问题,我使用的是安装文件,而不是压缩包。在这上面用压缩包安装曾经成功过。在网上搜了下, 基本上可以确定是MSVCR71.DLL的问题,将其拷贝到Tomcat的bin目录下,问题解决了。
问题虽然是解决了,可如何发现解决问题的方法还没学到,中文的详细介绍我没搜到,于是找了篇英文的,里面有很好的介绍,顺手就翻译一下吧。
【原文地址:http://www.iisadmin.co.uk/?p=22】
最近我在windows server 2003上安装Tomcat6,可Tomcat服务却无法启动。我的JDK和Tomcat6都是默认安装,于是我找了下windows的错误日志,然而里 面的内容让人费解,毫无帮助。好在在Tomcat的logs目录下有 jakarta_service_YYYYMMDD.log,里面记录了有关tomcat服务的信息。里面的提示是:: [994 prunsrv.c] [error] Failed creating java C:/Java/bin/client/jvm.dll
日志文件似乎在说无法创建jvm.dll,然而我在C:/Java/bin/client/下找到了jvm.dll,那么问题到底是什么呢?
为了找到问题所在,我决定使用Procmon工具看一下,这个工具可以在http://technet.microsoft.com/en-us/sysinternals/default.aspx 下载。下载后是一个rar文件夹,这是一个各种工具的的集合,里面有很多好用的小工具。使用这个工具,我发现了一些有趣的事情。
看起来Tocmat可以找到jvm.dll,但在这之后似乎没找到MSVCR71.dll。你可以从下图深色的地方看出,tomcat连续搜索了几个位 置,都没能找到这个文件。在这之后,tomcat6.exe开始写它的这个日志文件:Jakarta_service_20080826.log。
既然问题在于tomcat找不到MSVCR71.dll,我决定自己找一下MSVCR71.dll。在我的C盘里,我找到的MSVCR71.dll的位置如下:
我的机器中的确有msvcr71.dll这个文件,只是它们没有一个在tomcat找寻的目录中,因此我将msvcr71.dll拷贝到C:/Java/bin/client目录下,重启tomcat,问题就解决了。