Installation 为什么java(32位)JDK安装程序没有将rt.jar文件复制到JRE目录?(Windows 2008 R2 SP1)

Installation 为什么java(32位)JDK安装程序没有将rt.jar文件复制到JRE目录?(Windows 2008 R2 SP1),installation,java,Installation,Java,系统对JDK和JRE都使用Windows Server 2008 R2 SP1、Tomcat 5.5.28和Java SE 6 Update 20 我将系统更新为最新的JDK更新,JavaSE6更新27,并让它使用默认值安装;它创建了一个新目录jdk1.6.0_27,并重写了jre目录。它要求重新启动,然后我注意到Tomcat无法启动。我从jre目录运行java版本,并将其输出 初始化VM时出错 java/lang/NoClassDefFoundError:java/lang/Object 我发

系统对JDK和JRE都使用Windows Server 2008 R2 SP1、Tomcat 5.5.28和Java SE 6 Update 20

我将系统更新为最新的JDK更新,JavaSE6更新27,并让它使用默认值安装;它创建了一个新目录jdk1.6.0_27,并重写了jre目录。它要求重新启动,然后我注意到Tomcat无法启动。我从jre目录运行java版本,并将其输出

初始化VM时出错 java/lang/NoClassDefFoundError:java/lang/Object

我发现该目录缺少rt.jar文件;我从jdk1.6.0_27/jre/bin目录粘贴了它,java版本工作了,Tomcat启动了。我的问题是,为什么这个错误首先会发生???是Java安装程序吗

我运行了Java自动更新功能(它只更新JRE,而不更新JDK),它运行起来没有任何问题。那么,为什么Oracle.com上的Java安装程序没有正确更新JRE目录呢


提前谢谢。

我想所有Windows安装程序都有这样一个
必备的
短语:

在继续安装之前,请关闭所有正在运行的程序


我认为旧的rt.jar有问题,安装程序有一个bug无法解决这个问题。

我不知道为什么,但我以前见过这种情况。您是否运行升级?这可能是JRE安装程序中的一个bug。当没有Java应用程序运行时,尝试安装以前的版本并升级它。如果问题仍然存在,请向Oracle报告错误。没有显示强制消息。但我所做的是停止Tomcat服务,安装更新,然后成功重启Tomcat。同样,安装程序没有给出消息。但正如您所说,安装程序必须有一个bug,无法处理Tomcat使用的rt.jar。但是,自动更新(只针对jre,而不是jdk)对rt.jar没有问题。我猜是因为它是为更新而设计的,而安装程序不是专门为更新Java而设计的。再次感谢。@user717236。对不起,那消息真是个笑话。这是许多安装程序的一部分,因为Windows对文件锁定的过分热情是出了名的,在某些情况下,这可能会导致安装损坏(你的例子就是这样)。不过,好的安装人员应该始终检查他们是否可以在手之前锁定所有必需的文件,如果他们不能,则应该正常地失败。