当前位置: 首页 > 知识库问答 >
问题:

正确安装Java8和Java7

路欣荣
2023-03-14

我在windows 7机器上安装了JDK 1.7,在安装JDK 1.8 u20后,出现以下错误:

C:\>java -version
Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion'
has value '1.8', but '1.7' is required.
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.

我的PATH变量指向旧版本(即1.7)。

这里出了什么问题,我如何使用java 8和java 7?

共有3个答案

袁玮
2023-03-14

你不能既有蛋糕又吃当您将PATH变量设置为JDK1.8时,问题应该得到解决。您可以在JDK1.7中运行程序,方法是使用命令提示符中的SETPATH手动设置PATH,也可以转到JDK1.7目录并从那里运行程序。但是在您的路径中只能有一个JDK。

秦钟展
2023-03-14

在开始菜单中键入“regedit”打开注册表编辑器

转到左侧注册表资源管理器/树菜单上的“HKEY_LOCAL_MACHINE”

单击“HKEY_本地_机器”注册表中的“软件”

单击“软件”注册表中的“JavaSoft”

点击"Java运行时环境"在"JavaSoft"列表的注册表在这里你可以看到不同版本的安装java

单击“Java运行时环境”-在右边您将看到4-5行。请选择“当前版本”并右键单击(选择修改选项)将版本更改为“1.7”

现在魔法已经完成了

施彬郁
2023-03-14

问题是Java8安装了很多你并不真正需要的东西:

>

  • \windows\system 32包含Java8java.exe,javaw.exe和javaws.exe.您的路径可能在开头附近有system 32,所以这些通常会在默认情况下运行。

    系统路径变量以C:\编程数据\Oracle\Java\javapath开头。此文件夹包含java.exe、javaw.exe和javaws.exe作为JRE 8可执行文件的符号链接。

    我已经删除了system32文件,并从系统路径中删除了C:\programdata\Oracle\Java\javapath。这似乎可以解决问题。我现在可以通过将JAVA_主页和路径指向适当的文件夹来切换版本。

    甲骨文似乎决心让多个版本难以运行。这在JRE中是可以理解的,但在JDK中却是疯狂的,因为开发人员几乎总是需要多个版本的Java。

    编辑:我发现这个批处理脚本对于切换JDK很有用。用法:jdk.bat6|7|8。您可能必须编辑Java的安装位置。

    @echo off
    if "%1"=="" goto report
    set _version=%1
    shift
    if "%1"=="DBG" shift & echo on
    set _command=%1 %2 %3 %4 %5
    
    set _jdkdir=
    set _jdkver=
    for /D %%f in ("C:\Program Files\java\"jdk1.%_version%.*) do call :found "%%f"
    if "%_jdkdir%"=="" goto notfound
    
    set java_home=C:\Program Files\java\%_jdkdir%
    call :javapath
    path %new_path%
    goto :report
    
    :javapath
        setlocal enabledelayedexpansion
        set _jdirs=
        for /D %%j in ("C:\Program Files\java\*") do set _jdirs=!_jdirs!#%%~fj\bin
        set _jdirs=%_jdirs%#
    
        set _javabin=%java_home%\bin
        set _fpath="%PATH:;=" "%"
        call :checkpath %_fpath%
        endlocal & set new_path=%_javabin%
    goto :eof
    
    :checkpath
        if _%1==_ goto :eof
        echo %_jdirs% | find /i "#%~1#" 1>nul 2>&1
        set _err=%errorlevel%
        if not %_err%==0 set _javabin=%_javabin%;%~1
        if %_err%==0 echo Removed %~1 from path
        shift
        goto :checkpath
    
    :report
    javac -version
    %_command%
    goto :eof
    
    :notfound
    echo No JDK matching [C:\Program Files\java\jdk1.%_version%.*] found.
    goto :eof
    
    :found
    set _jdkdir=%~n1%~x1
    for /F "tokens=2,3 delims=." %%a in ("%_jdkdir%") do set _jdkver=1.%%a.%%b
    goto :eof
    

  •  类似资料:
    • 问题内容: 我在Windows 7计算机上安装了JDK 1.7,在安装JDK 1.8 u20之后,出现以下错误: 我的变量指向旧版本(即1.7)。 这是什么问题,如何将Java 8与Java 7一起使用? 问题答案: 问题是Java 8安装了许多您实际上不需要的东西: \ windows \ system32 包含Java 8 java.exe,javaw.exe 和 javaws.exe 。您的

    • 我正试图将maven V3.5.4安装到我的计算机上,每当我尝试'mvn-version'命令时,我会得到 “MVN”不被识别为内部或外部命令、可操作程序或批处理文件。 我已经查阅了关于如何做到这一点的多个教程,他们提供了几乎相同的信息。添加系统变量M2和M2_HOME,然后向Path系统变量追加一个目录。我将系统变量配置为: null null null null 我的路径变量是: 我不知道如何

    • 已从deb软件包安装docker1.6,但在运行时出现问题: sudo docker版本客户端版本: 1.6.2客户端API版本: 1.18 Go版本(客户端): go1.4.2 Git提交(客户端): 7c8fca2 OS/Arch(客户端): linux/amd64 FATA[0000]获取超文本传输协议:///var/run/docker.sock/v1.18/version:拨号unix

    • 无法完成安装,因为找不到一个或多个必需的项目。 正在安装的软件:M2E-Maven Integration for Eclipse(包括孵化组件)1.6.1.20150625-2338(org.Eclipse.m2e.feature.feature.group 1.6.1.20150625-2338)缺少要求:Maven Integration for Eclipse 1.6.0.20150526

    • 我似乎不能正确使用sudo pip安装,以便它安装到以下目录: 这样我就可以使用python导入模块 我跑过了 结果 但是,它不在正确的目录中 如何让sudo pip安装到正确的目录? 另外,我也试过了 sudo-pip安装刮擦 我得到以下信息 这两个实例都表明它已经安装,但并不正确。例如,当我在python中运行以下导入: 我尝试了以下方法:

    • 我想知道你是否能帮助我。 我试图通过npm命令安装ang-cli npm安装-g angular cli,但是我收到了很多消息,“ng”命令不起作用。 我得到的一些错误如下 node-pre-gyp安装回退到构建 节点前gyp错误!已尝试下载:https://node-zopfli.s3.amazonaws.com/Release/zopfli-v1.4.0-node-v48-win32-x64.