Why is java (32-bit) JDK installer not copying rt.jar file to JRE directory? (Windows 2008 R2 SP1)
The system is using Windows Server 2008 R2 SP1, Tomcat 5.5.28, and Java SE 6 Update 20 for both JDK and JRE.
I updated the system to the latest JDK update, Java SE 6 Update 27, and let it install using defaults; it created a new directory, jdk1.6.0_27, and overwrote the jre directory. It asked to restart and then I noticed Tomcat would not start. I ran the java -version from the jre directory and it outputted
Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Object
I discovered the directory was missing the rt.jar file; I pasted it from the jdk1.6.0_27/jre/bin directory and java -version worked and Tomcat started. My question is why is this error occurring in the first plac开发者_JAVA百科e??? Is it the Java installer?
I ran the Java Automatic update feature (which only updates JRE, not JDK) and it worked without a hiccup. So, why is the Java installer from Oracle.com not updating the JRE directory properly?
Thank you in advance.
I think that's the case all Windows installers have this obligatory
phrase:
Please close all running programs before you continue with installation
I think something was holding the old rt.jar and installer has a bug that cannot cope with this condition.
精彩评论