java多版本共存

这篇具有很好参考价值的文章主要介绍了java多版本共存。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原理

通过脚步改变path环境变量来实现java多版本切换.这里使用的是Win10.

一,删除原有的java搜索路径.

在安装高版本的java时,会添加一个路径到path环境变量中,如我的C:\Program Files\Common Files\Oracle\Java\javapath,在该目录下存有java.exe和javac.exe等.在用cmd执行命令时,cmd会在path变量包含的路径中查找.你需要在环境变量中删除该路径.

二,设置JAVA_HOME和%JAVA_HOME%\bin

在环境变量中添加JAVA_HOME,值为jdk的安装路径,如下图:

java多版本共存

在path变量中添加一条%JAVA_HOME%\bin.通过%变量名%的方式来调用变量,这里有点像字符串拼接.在%JAVA_HOME%\bin下,你可以找到java.exe与javac.exe.在path中添加后,cmd也能找到.

三,安装其他版本的java

这里后来安装了java8.它的安装过程中不会自动改变环境变量,如果你安装的是其他版本,可能需要留意这个问题,删除新加的路径以免产生干扰.

四,编写.bat文件

文件名:setjava8.bat,内容如下

@echo off
set JAVA_HOME=D:\Program Files\Java\jdk1.8.0_201
set Path=%JAVA_HOME%\bin;%Path%
echo -------path环境未使用C:\Program Files\Common Files\Oracle\Java\javapath---
echo -------setjava8.bat位于system32中---
echo -------JAVA_HOME=%JAVA_HOME%----
echo -------Java8 activated,仅当前窗口有效---

它的作用:改变JAVA_HOME的值,重新拼接一个路径到path变量值,严格来讲是覆盖与原有的path.

ehco的作用是在命令行打印字符.

你可以把setjava8.bat文件放在path中包含的路径下.当然, 得是改变前的path变量的路径.我把他放在在\windows\system32中,这是path变量中原有的路径.这个目录有特殊的权限规则.

你甚至可以把他放在%JAVA_HOME%\bin下.这要求你的路径设置是正确的,以便在改变%JAVA_HOME%\bin前可以找到.

如果你有需求,可以对文件内容进行修改,比如改改echo 后面的内容.

五,生效

如果你看懂了.bat文件里的内容,会发现核心就两句:

set JAVA_HOME=D:\Program Files\Java\jdk1.8.0_201 set Path=%JAVA_HOME%\bin;%Path%

如果你只需要在命令行执行,可以缩成一句:

set Path=D:\Program Files\Java\jdk1.8.0_201\bin;%Path%

不过JAVA_HOME有特殊的意义.

它们的目的是在找到java16的java.exe等文件之前先在java8里找到了.这使得cmd在执行java -version时,使用的是java8

如果你完成了,使用效果是这样的:

java多版本共存

六,遇到的各种问题

  1. 如果打开环境变量设置?

    你可以在文件资源管理器的此电脑上右击,点属性,打开设置.在设置->高级系统设置中可以找.

    或者使用搜索,搜env可以找到

  2. 修改的环境变量没有生效?

    第一,确保你已经保存

    第二,确保cmd是新开的一个。因为可能有缓存的问题

    第三,再次确认你没有设置错误,毕竟错了它也不报错

  3. 生效的范围?

    仅当前窗口有效,新开的是没有经过效果的。所以一开始的%JAVA_HOME%\bin需是正常的,这决定默认使用的java版本.

    set命令可以在打印所有的环境变量,可以使用set | findstr -i java命令察看有关的环境变量还确认这件事。我觉得你没有这么闲,除非你第一次见或出错了~

  4. 变量后面要不要加\?

    设置的时候你也疑惑要不要在%JAVA_HOME%后加\.要加的,因为路径的后面没有\,拼接的时候就得加上。当年因为在.bat里末尾多加了一个\,出现\\bin的情况。

  5. 改了有啥用呢?

    一般集成开发环境是支持多版本的.

    这种通过脚本改环境变量的方法 能力有限.

    冰蝎3需要java8的运行时环境,你可以这样用:java -jar ???

    java多版本共存

    冰蝎4虽然可以在java16中也可以打开,似乎会莫名地卡.让我回想起当前玩英雄联盟时电脑总是突然死机的光景(#`-_ゝ-)

  6. 乱码?其实我没有啦

    因为cmd的字符集是utf-8.在读utf-8编码的文件时会正常显示。

    cmd默认的字符集似乎是GBK.如果你有需要,可以到网上找找怎么改.

    乱码问题不大,毕竟大多数字符集中没人抢那52个英文字母的位置,程序还能运行.

  7. 其他问题?

    没了没了,我想不到了.如果还有,你得去找他人的文章或视频了.计算机玄学总是会碰到的, 实在不行,你可以重来一次(¬‿¬)文章来源地址https://www.toymoban.com/news/detail-415304.html

到了这里,关于java多版本共存的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 安装Java8和Java17共存,如何自由切换Java版本?

    官方下载地址:https://www.oracle.com/java/technologies/downloads/ 根据需要选择要下载的Java版本 安装过程省略,有需要的可自行百度 … 找到自己java安装的目录 进入Java jdk的bin目录,如:C:java8jdk1.8.0_331bin,将java.exe改为java8.exe 同样的方式去修改java17的java文件名称 将Java8和Java17的b

    2024年02月09日
    浏览(42)
  • anaconda虚拟环境改变python版本

    比如我原来是python3.9,现在想改成3.5,有方案说直接在虚拟环境中执行: 这样是不可行的!!!因为这样只是改变了python的版本,其它包没有被改变。 但其它包当初是依赖于python3.9版本的,现在python突然变成3.5了,那依赖关系就乱了,其它包也得重装。比如包A原本是1.10版的

    2024年02月15日
    浏览(47)
  • Java AOP 通过注解实现切面及通过注解改变返回值

    学习过java的小伙伴都知道Spring的重要知识点之一就是AOP,AOP也就是切面编程,切面编程它能够帮助我们实现非侵入式的功能增强,解耦现有的业务逻辑和要新增的功能增强。 实际应用中的场景 事务管理、拦截器、日志处理、权限控制等。 AOP的增强方式 前置增强、后置增强

    2024年02月14日
    浏览(28)
  • 通过环境变量实现多个JDK切换

    前文:          由于jdk版本需要升级为jdk17,因为jdk8比较常用且稳定,本人又不想卸载掉安装的jdk8,在经过查找资料后找到了可以通过修改环境变量在本地任意切换jdk版本 环境变量配置         网上教程一堆,直接跳过了,这里主要说明怎么通过配置环境变量切换 电脑-属性-高级

    2024年02月05日
    浏览(36)
  • win10环境使用nvm安装多版本nodejs并配置环境变量

    最近使用node工程,需要多版本,并且进行切换,来回安装卸载不同版本的node比较麻烦,后面自己就简单捯饬了一下nvm来管理node,顺便记录一下自己的使用过程,以便于后续查找。 1.nvm安装,首先在官网下载 https://github.com/coreybutler/nvm-windows/releases 然后安装nvm-setup.exe: 注意:

    2024年01月20日
    浏览(46)
  • linux系统查看jdk版本,路径及配置环境变量

    目录 1、查看jdk版本 2、查看jdk安装目录 3、配置jdk环境变量 4、输入 i 进入编辑模式,到最后一行,添加一下代码,然后保存退出 5、重新加载配置文件 1、查看jdk版本 2、查看jdk安装目录    或者使用  最后一行显示路径 3、配置jdk环境变量 使用命令打开文件 4、输入 i 进入编

    2024年02月13日
    浏览(39)
  • 在Anaconda的虚拟环境中添加环境变量并通过python访问(win/mac/linux)

    有的时候密码登比较敏感的信息,不方便直接写在代码里 有很多变量我想很多project都可以访问到 那这时候使用环境变量是非常合适的了。 以linux为例 直接在internal执行命令 export 变量=值 通过更改bashc文件 在代码里访问:(以python为例) mac类似: 如果没有conda的情况下,直接在

    2024年02月16日
    浏览(45)
  • Vivado(vitis) 新旧版本共存,更改默认打开工程版本

    有时候经常会安装多个版本的xilinx 程序在电脑上 来证明你的电脑硬盘真大,好大! 但是太大也有坏处,就是你发现你每次双击工程文件,都会是默认老版本(或者新版本打开),并不是你要的 姿势 怎么办呢! 修改** 注册表 ** ComputerHKEY_CLASSES_ROOTVivado.Project.1ShellOpenComm

    2024年02月12日
    浏览(35)
  • Mven安装配置、配置国内镜像,jdk17版本、配置maven环境变量

    下载解压 在d盘建立名为maven的文件夹进apache-maven-38.4-bin-zip解压到“D:maven”中,repo是后期生成的现在不用管 修改D:mavenconfsettings.xml,配置国内镜像,jdk17版本 配置maven环境变量 在项目中配置  配置当前项目maven的使用;打开idea File-settings...-Build,Execution,Deployment-Build Tools-Mav

    2024年02月15日
    浏览(37)
  • 多版本python共存 pip指向问题。

    环境中安装了多个python3(3.6,3.8) ,ubuntu18.04 默认会安装3.6,项目需要3.8,apt install python3.8后,3.6,3.8共存,但pip默认应该是指向 3.6的。 可以使用 pip -V 来查看版本 如何为3.8 使用pip安装库呢? 首先安装 指向3.8的pip库 此时pip应该就是指向 3.8的了。 然会pip install 安装的库就

    2024年02月10日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包