正确安装Java 8和Java 7

正确安装Java 8和Java 7,第1张

正确安装Java 8和Java 7

问题是Java 8安装了许多您实际上不需要的东西:

  • windows system32 包含Java 8 java.exe,javaw.exe javaws.exe 。您的路径可能在开头附近有 system32 ,因此默认情况下倾向于运行它们。

  • 系统路径变量以 C: programdata Oracle Java javapath开头 。该文件夹包含 java.exejavaw.exejavaws.exe, 作为指向JRE 8可执行文件的符号链接。

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

看来,Oracle决心要使其难以运行多个版本。这对于JRE是可以理解的,但是对于JDK却是疯狂的,因为开发人员几乎总是需要多个Java版本。

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

@echo offif "%1"=="" goto reportset _version=%1shiftif "%1"=="DBG" shift & echo onset _command=%1 %2 %3 %4 %5set _jdkdir=set _jdkver=for /D %%f in ("C:Program Filesjava"jdk1.%_version%.*) do call :found "%%f"if "%_jdkdir%"=="" goto notfoundset java_home=C:Program Filesjava%_jdkdir%call :javapathpath %new_path%goto :report:javapath    setlocal enabledelayedexpansion    set _jdirs=    for /D %%j in ("C:Program Filesjava*") do set _jdirs=!_jdirs!#%%~fjbin    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:reportjavac -version%_command%goto :eof:notfoundecho No JDK matching [C:Program Filesjavajdk1.%_version%.*] found.goto :eof:foundset _jdkdir=%~n1%~x1for /F "tokens=2,3 delims=." %%a in ("%_jdkdir%") do set _jdkver=1.%%a.%%bgoto :eof


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5488022.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存