JDK在安裝的過程當中將會生成如下3個項目:
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Plug-in
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment
同時,JDK安裝程序將會把java.exe,javaw.exe,javareg.exe這3個可執行文件拷貝到winnt\system32目錄下,由於 winnt\system32被操作系統缺省的設置為最高優先權的PATH搜索路徑,因此可保證用戶在命令行任何目錄下可運行java.exe來啟動 JVM。
java.exe在啟動時是通過下面方式來確定的:
假如存在../jre/bin/java.dll文件,則查找../jre/lib/ jvm.cfg文件,在該文件中,第1個被列出的jvm.dll類型作為缺省值(假如在java.exe命令行指定了jvm.dll的類型,則使用指定類型)。jvm.dll類型分為hotspot,classic,server三種。假如不存在../jre/lib/jvm.cfg文件,則打印妳說的錯誤信息。
解決方案:
1.將JDK拷貝到註冊表裏面的路徑下,如果文件夾的名稱不壹樣的話也要改成和註冊表裏面壹樣的。
2.重新安裝JDK。
建議解決辦法:
a.重新安裝JDK到任意目錄,假設這個目錄是C:\java。
b.將裝好的JDK,JRE拷貝到任意壹個其他目錄,如D:\bak,這樣做的目的主要是為了備份JDK。
c.制面板裏面將JDK,JRE卸載了,這樣妳電腦裏面就沒有安裝JDK了,也就是說註冊表裏面沒有安裝信息了。
d.妳會發現C:\java裏面的JDK已經被卸載掉了,這是將D:\bak裏面的備份JDK拷會到C:\ava裏面,然後設置環境變量。
JAVA_HOME: C:\java\JDK1.5.0
path裏面添加: %JAVA_HOME%\bin
設置classpath: .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar
這是,妳就擁有了與註冊表無關的JDK了,可以隨意移動位置,移動以後只要修改 JAVA_HOME為移動以後的路徑就可以了。