我已经在win 7服务器上运行Tomcat 7作为服务一年多了,没有任何问题
服务器有足够的硬盘和内存,
今天服务器已关闭,尝试启动它我收到错误:
2012-06-13 15:15:22
Commons Daemon procrun stdout initialized
Error occurred during initialization of VM
Unable to load native library: Can't find dependent libraries
我在服务属性的java选项卡上切换了vm参数:
C:\Program Files\Java\jre6\bin\client\jvm.dll
到:
C:\Program Files\Java\jdk1.6.0_23\jre\bin\client\jvm.dll
现在它似乎工作正常。
这个错误可能是什么原因造成的?
谢谢
答案 0 :(得分:4)
我将JRE重新安装到版本6u25,并且Tomcat能够重新启动。
我想有些东西一定搞砸了JRE的权利。服务器上最近的唯一安装是在几天前。在此之前,它从今年年初以来一直没有改变。我在这里列出了最近的安装以供参考,但我并不认为它们是导致问题的原因:
答案 1 :(得分:2)
AFAIK,
Windows上的Sun / Oracle Java 6 SDK安装程序在其JDK文件夹中安装另一个JRE。
显然,在服务器的“正常”JRE安装上发生了某些“事件”,可能是更新失败,或者某人已经卸载了似乎是JRE的冗余副本。
JRE安装程序存在已知问题:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7114143
“客户端”vm和“服务器”vm有两种不同的JVM,在某些系统上,您只能在某些系统上找到服务器或客户端虚拟机版本。
C:\ Program Files \ Java \ jre6 \ bin \ client \ jvm.dll和/或 C:\ Program Files \ Java \ jre6 \ bin \ server \ jvm.dll
Windows for Java 6的预期行为是始终安装客户端jvm:
http://docs.oracle.com/javase/6/docs/technotes/guides/vm/server-class.html
http://www.oracle.com/technetwork/java/hotspotfaq-138619.html#compiler_types
答案 2 :(得分:2)
我在允许自动更新到Java JRE 7u15后发生了这个问题。在检查了所有明显的和Tomcat设置之后,我注意到JRE bin文件夹中的文件在'm'之后没有任何名字。因此,我卸载了Java JRE并进行了全新安装。 Tomcat开始没有任何问题。因此,在我看来,罪魁祸首似乎是一个糟糕的更新,即使它说安装一切都很好。