因为jdk装得太多了。所以都乱了。我把所有的都删除了。然后把注册表里的javasoft也都删除了。可是我重装jdk后。注册表里没有新建javasoft那一项。现在我的机器能编译java文件。但执行的时候不能执行。Error opening registry key 'Software\JavaSoft\Java Runtime Environment'
Error: could not find java.dll
Error: could not find Java 2 Runtime Environment.
在注册表里JavaSoft这一项重装jdk后也没有。

解决方案 »

  1.   

    注册表损坏了,楼主得试着恢复。每当运行 JAVA 程序时,都需要注册表中的运行时相关信息。楼主可以借此机会重新做人了。:)
      

  2.   

    Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft][HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit]
    "CurrentVersion"="1.5"[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\1.4]
    "JavaHome"="f:\\JBuilder2005\\jdk1.4"
    "MicroVersion"="2"[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\1.4.2_02]
    "JavaHome"="F:\\j2sdk1.4.2"
    "MicroVersion"="2"[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\1.4.2_04]
    "MicroVersion"="2"
    "JavaHome"="f:\\JBuilder2005\\jdk1.4"[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\1.5]
    "JavaHome"="F:\\jdk1.5.0_02"
    "MicroVersion"="0"[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\1.5.0_02]
    "JavaHome"="F:\\jdk1.5.0_02"
    "MicroVersion"="0"[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Plug-in][HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Plug-in\1.4.0]
    "JavaHome"="E:\\Program Files\\Java\\j2re1.4.0"
    "UseJava2IExplorer"=dword:00000000[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Plug-in\1.4.2_02]
    "JavaHome"="E:\\Program Files\\Java\\j2re1.4.2_02"
    "UseJava2IExplorer"=dword:00000001
    "HideSystemTrayIcon"=dword:00000000[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Plug-in\1.5.0_02]
    "JavaHome"="E:\\Program Files\\Java\\jre1.5.0_02"
    "UseJava2IExplorer"=dword:00000001
    "HideSystemTrayIcon"=dword:00000000[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
    "CurrentVersion"="1.5"[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.4]
    "JavaHome"="f:\\JBuilder2005\\jdk1.4\\jre"
    "RuntimeLib"="f:\\JBuilder2005\\jdk1.4\\jre\\bin\\client\\jvm.dll"
    "MicroVersion"="2"[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.4.0]
    "JavaHome"="E:\\Program Files\\Java\\j2re1.4.0"
    "MicroVersion"="0"
    "RuntimeLib"="E:\\Program Files\\Java\\j2re1.4.0\\bin\\client\\jvm.dll"[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.4.2_02]
    "JavaHome"="E:\\Program Files\\Java\\j2re1.4.2_02"
    "MicroVersion"="2"
    "RuntimeLib"="E:\\Program Files\\Java\\j2re1.4.2_02\\bin\\client\\jvm.dll"[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.4.2_04]
    "MicroVersion"="2"
    "RuntimeLib"="f:\\JBuilder2005\\jdk1.4\\jre\\bin\\client\\jvm.dll"
    "JavaHome"="f:\\JBuilder2005\\jdk1.4\\jre"[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.5]
    "JavaHome"="E:\\Program Files\\Java\\jre1.5.0_02"
    "RuntimeLib"="E:\\Program Files\\Java\\jre1.5.0_02\\bin\\client\\jvm.dll"
    "MicroVersion"="0"[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.5.0_02]
    "JavaHome"="E:\\Program Files\\Java\\jre1.5.0_02"
    "MicroVersion"="0"
    "RuntimeLib"="E:\\Program Files\\Java\\jre1.5.0_02\\bin\\client\\jvm.dll"[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Update][HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Update\Policy]
    "EnableJavaUpdate"=dword:00000001
    "EnableAutoUpdateCheck"=dword:00000001
    "NotifyDownload"=dword:00000001
    "NotifyInstall"=dword:00000001
    "Frequency"=dword:011a0000
    "UpdateSchedule"=dword:00000010
    "LastUpdateBeginTime"="Tue, 26 Apr 2005 08:30:35 GMT"
    "LastUpdateFinishTime"="Tue, 26 Apr 2005 08:30:38 GMT"
    "TransferJobID"="{00000000-0000-0000-0000-000000000000}"[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Web Start]
    "CurrentVersion"="1.5.0_02"[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Web Start\1.0.1]
    "Home"="E:\\Program Files\\Java\\jre1.5.0_02\\bin"[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Web Start\1.0.1_02]
    "Home"="E:\\Program Files\\Java\\jre1.5.0_02\\bin"[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Web Start\1.0.1_03]
    "Home"="E:\\Program Files\\Java\\jre1.5.0_02\\bin"[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Web Start\1.0.1_04]
    "Home"="E:\\Program Files\\Java\\jre1.5.0_02\\bin"[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Web Start\1.2]
    "Home"="E:\\Program Files\\Java\\jre1.5.0_02\\bin"[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Web Start\1.2.0_01]
    "Home"="E:\\Program Files\\Java\\jre1.5.0_02\\bin"[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Web Start\1.4.2_02]
    "Home"="E:\\Program Files\\Java\\j2re1.4.2_02\\javaws"[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Web Start\1.5.0_02]
    "Home"="E:\\Program Files\\Java\\jre1.5.0_02\\bin"[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Prefs]
      

  3.   

    注册表里面不是所有的javasoft项都是jdk产生的,
    因为windows自己也带了JRE的,
    所以你的注册表已经损坏了,修复一下吧
      

  4.   

    doway(john) ( ) 你能告诉我应该把那些值给建上吗?能不能把结构列出来呢?上面太多了。我看不明白。谢谢!只要1.4的就行了。
      

  5.   

    哈。英明的人往往会被一些小问题给迷惑。
    我刚才从别人的机器上把javasoft项导出来又导进我的机器了。还是那样的错误。只好再找原因了。
      

  6.   

    Registry key 'Software\JavaSoft\Java Runtime Environment\CurrentVersion'
    has value '1.4', but '1.5' is required.
    Error: could not find java.dll
    Error: could not find Java 2 Runtime Environment.
      

  7.   

    这个就好办了,打开注册表,改那个 CurrentVersion 值成 1.5 即可。
      

  8.   

    改成1.5还是那样的提示。
    把Tomcat装成4.0的就行了。以前是5.0的。
      

  9.   

    [HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit]
    "CurrentVersion"="1.5"[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
    "CurrentVersion"="1.5"这两个值我都改过。关键在于保证 JDK/JRE 及注册表都是完好的,楼主你能够保证吗? :)
      

  10.   

    现在能保证。都正常运行了。
    只是JDBC不知道又出了那门子错误。
    Apache Tomcat/4.1.31
    java.lang.ClassNotFoundException
    java.lang.Exception
    java.lang.Throwable
    java.lang.Objectjava.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver