java -version时出现could not open D:javajre1.6.0

    技术2024-12-02  20

    因为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的版本信息了。

    最新回复(0)