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

java -version时出现could not open D:/java/jre1.6.0_22/lib/i386/jvm.cfg

2013年03月18日 ⁄ 综合 ⁄ 共 841字 ⁄ 字号 评论关闭

因为java环境变量配置的是jdk1.5.0_17,但是在运行java -version时,出现的是1.6.0_22信息,

根据以上信息猜测到之前没有完全卸载掉1.6.0_22的目录,于是就去查看之前的安装目录,发现确实存在jre1.6.0_22这个目录,将这个目录删除后,再次运行java -version后就出现了以下报错信息:

 

could not open D:/java/jre1.6.0_22/lib/i386/jvm.cfg

 

根据网上搜索的资料总结如下:

1、一般JDK安装完成后会java.exe,javaw.exe,javareg.exe(但是这个文件我没找到)拷贝到windows/system32目录下,保证任何用户都可以用java.exe来启动JVM。

2、会生成几个注册文件项目

      HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Development Kit
      HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Plug-in
      HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Runtime Environment

 

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文件,则打印你说的错误信息。

 

根据上面的描述,我将windows/system32目录下的相关文件删除,然后将1.5.0_17版本里的几个exe文件拷贝过来,再次在命令行里运行java -version,就正确显示了1.5.0_17的版本信息了。

抱歉!评论已关闭.