这是我以前写的一篇tomcat无法启动的文章
原地址在我的百度空间 : http://hi.baidu.com/java_org
工具:
jdk6 + Tomcat6
Tomcat日志内容:
[2007-12-18 11:19:20] [info] Procrun (2.0.3.0) started
[2007-12-18 11:19:20] [info] Running Service...
[2007-12-18 11:19:20] [info] Starting service...
[2007-12-18 11:19:20] [174 javajni.c] [error] 找不到指定的模块。
[2007-12-18 11:19:20] [986 prunsrv.c] [error] Failed creating java E:/Program Files/Java/jre1.6.0_03/bin/client/jvm.dll
[2007-12-18 11:19:20] [1260 prunsrv.c] [error] ServiceStart returned 1
[2007-12-18 11:19:20] [info] Run service finished.
[2007-12-18 11:19:20] [info] Procrun finished.
解决方法:
将 /Java/jre1.6.0_03/bin/msvcr71.dll 这个文件COPY到C:/windows/system32下面下面
原因:
可能是jdk1.6和tomcat不兼容,因为jdk1.5就没问题。
那么,究竟哪个模块加载失败,导致jvm.dll加载失败呢?
用Filemon监控一下就会发现 MSVCR71.dll NOT FOUND
搜遍了下面这些目录都没有发现这个文件。
Filemon日志如下:
.......
.......
700 12:20:40 tomcat6.exe:13092 QUERY INFORMATION C:/WINDOWS/system32/MSVCR71.dll NOT FOUND Attributes: Error
701 12:20:40 tomcat6.exe:13092 QUERY INFORMATION C:/WINDOWS/system/MSVCR71.dll NOT FOUND Attributes: Error
702 12:20:40 tomcat6.exe:13092 QUERY INFORMATION C:/WINDOWS/MSVCR71.dll NOT FOUND Attributes: Error
703 12:20:40 tomcat6.exe:13092 QUERY INFORMATION E:/Program Files/Apache Software Foundation/Tomcat 6.0/MSVCR71.dll NOT FOUND Attributes: Error
704 12:20:40 tomcat6.exe:13092 QUERY INFORMATION C:/WINDOWS/system32/MSVCR71.dll NOT FOUND Attributes: Error
705 12:20:40 tomcat6.exe:13092 QUERY INFORMATION C:/WINDOWS/MSVCR71.dll NOT FOUND Attributes: Error
706 12:20:40 tomcat6.exe:13092 QUERY INFORMATION C:/WINDOWS/System32/Wbem/MSVCR71.dll NOT FOUND Attributes: Error
707 12:20:40 tomcat6.exe:13092 QUERY INFORMATION E:/Program Files/MySQL/MySQL Server 5.1/bin/MSVCR71.dll NOT FOUND Attributes: Error
708 12:20:40 tomcat6.exe:13092 QUERY INFORMATION E:/Program Files/Java/jdk1.6.0_03/MSVCR71.dll NOT FOUND Attributes: Error
......
......