现在的位置: 首页 > 综合 > 正文

java -version 时出现 could not open D:\java\lib\i386\jvm.cfg是什么意思

2018年02月18日 ⁄ 综合 ⁄ 共 1058字 ⁄ 字号 评论关闭
简单分几步:
删除之前的jdk——删除注册表中相关项——重新安装,注意安装路径不要改变,跟之前可以用的时候一样。——配置环境变量
 
应该是文件缺失导致的问题。
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为移动以后的路径就可以了。

抱歉!评论已关闭.