在Windows 2008上面安装过一个JDK6,在安装Tomcat6以后发现Tomcat6无法启动。Tomcat的日志中有如下日志:
[2009-09-05 01:54:01] [info] Starting service...
[2009-09-05 01:54:01] [174 javajni.c] [error] The specified module could not be found.
[2009-09-05 01:54:01] [994 prunsrv.c] [error] Failed creating java C:\Program Files\Java\jre6\bin\client\jvm.dll
[2009-09-05 01:54:01] [1269 prunsrv.c] [error] ServiceStart returned 1
经网上搜索发现是缺少 msvcr71.dll。
这个文件是Microsoft Visual C++ 2003 Runtime的主要文件,在.NET Framework 1.1安装以后就可以在系统中找到。但是由于Windows 2008和Vista默认安装的.NET Framework版本版本比较高,其系统中找不到这个文件。
解决这个问题其实不难,有条件的可以找一个安装Windows 2003的机器拷贝来这个文件。更简单的办法就是从JDK6_SE的安装目录的bin目录中可以找到这个文件,找到文件以后把文件复制到 c:\windows\system32目录。