首页 > 编程语言 >【Java】环境配置以及快速切换环境的技巧和方法

【Java】环境配置以及快速切换环境的技巧和方法

时间:2022-08-21 00:56:22浏览次数:99  
标签:JAVA JDK 环境 切换 Java 环境变量

前言

  前几天想用 burp 抓包来着,发现 burp 突然不能用了,重装了 burp 发现还是不能用,意识到是 java 环境出了问题。在之前有段时间没玩 CTF ,去搞开发了,于是java环境糊里糊涂改成了 JAVA 18 ,结果之前的 burp 只能用 JAVA 8 的环境运行,并且后来还下了一个新版的 burp ,需要在 JAVA15 的环境运行,于是我的电脑里就有了三个版本的 JDK,而我又是开发和 CTF 双管齐下的,需要经常切换 JAVA 环境,所以写篇文章,写一下切换 JAVA 环境的技巧和方法。

tips:想看快速切换环境的技巧和方法的师傅,可以跳过配置JAVA环境这块

配置JAVA环境

首先我们先要在 Oracle 官网下载 JDK:https://www.oracle.com/java/technologies/downloads/

比如我下载了一个 JAVA18,安装目录如下

C:\Program Files\Java\jdk-18.0.2

配置环境变量

  在配置之前我们先来了解一下什么是环境变量,有哪些环境变量需要配置,这些环境变量是怎么发挥作用的。

PATH:PATH是操作系统用的,用来指定操作系统需要使用到的可执行程序的位置。对于Java来说,通常需要把JDK的bin目录添加进入PATH中,这样你就可以在任意目录下使用bin下面的可执行程序,如javac.exe、java.exe等。

JAVA_HOME:JAVA_HOME是一个约定,通常它指的是JDK的目录。如果需要JDK的话,大部分程序会默认去环境变量中取JAVA_HOME这个变量。

CLASSPATH:告诉Java执行环境,在哪些目录下可以找到我们所要执行的Java程序所需要的类或者包。

理论讲完了,win10的话左下角输入“环境变量”,开始配置环境变量

先新建一个系统变量 JAVA_HOME,值为你安装的JDK路径

再新建一个系统变量 CLASSPATH,值为 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

  注意前面是有个 .; 的,这里的 . 代表当前目录,%JAVA_HOME% 代表你上面设置的系统变量 JAVA_HOME 的值,为什么要设置成 %JAVA_HOME%\lib 这样,而不是设置成绝对路径呢?其实这是为了之后更改JAVA_HOME的时候CLASSPATH能直接跟着改,就不需要一个一个改过去了,能方便很多

接下去我们找到Path路径,双击进入Path,新建

单纯配置一个JAVA环境的话,新建一个这个就行(我下面的两个是为了做Maven项目搭建的环境)

好了这样就配置成功了。

环境验证

win+R 打开cmd

输入 java -version 出现以下内容就行(我这里配置的是 JAVA15)

快速切换环境

环境切换

好了,最基本的环境设置搞好了,接下去的场景是,我们在不同的工作下需要用到不同的 JAVA 环境,那么我就讲一下我的经验,以及快速切换环境的方法和技巧。直接上图

  如图所示,我的电脑上安装了三种版本的 JDK,在不同场景下要使用不同的 JDK,所以我配置了三个变量,用来标识 JAVA 版本号,那么也正如上图所示,其他的 CLASSPATH,包括Path,其实都只引用了 %JAVA_HOME%,所以这里的一个小技巧就是直接修改 JAVA_HOME 的值,想用 JAVA15的时候,就把值改成JAVA15的引用,想用 JAVA18 的时候,就把值改成 JAVA18 的引用,就可以达到快速的切换了。

小坑

  有的时候我们会遇到这种情况,包括我也遇到过,我原本的环境是 JAVA18,当我想改到低版本,比如 JAVA8,的时候,cmd检查 JAVA 版本,发现并没有更改。

  这是因为高版本的 JAVA 的 bin 文件夹中,有这三个文件:java.exe,javax.exe,javac.exe

  如果你无法切换,那就把这三个文件删了,注意是删高版本JDK的这三个文件,如果发现还是不行,那就把低版本的也删了,总之删了就行。

有没有更方便更快捷的方法?

  当然有,不过会比较难,如果你平常环境没有换的那么勤,其实这一步你不做也没事,但是如果你经常要换环境,每次打开环境变量进行手动修改也会很烦,那我们就可以用更快的方法。那就是脚本的自动化切换,我们写一个批处理脚本,也就是 .bat 脚本,实现自动化快速切换,不过这是要点基础的,但是如果你的环境变量的配置和我上面的一样,(设置了 JAVA_HOME ,设置了 JAVA_HOME18 等等其他版本),只要是格式相同,你可以直接参考我的另一篇文章,把批处理代码复制下来,运行直接用就行,不用去学些其他的东西了,我的另一篇博客如下:【Java】bat批处理脚本实现 Java 环境的快速切换

标签:JAVA,JDK,环境,切换,Java,环境变量
From: https://www.cnblogs.com/br0sy/p/16609184.html

相关文章

  • Javaweb-Cookie初识
    快速了解Cookie什么是Cookie?首先看一下Cookie在目前整个Web技术体系中的位置可以看到它是在浏览器端这边关联服务器端Session会话域的,可以推断它是和Session类似,用来保......
  • flask开发环境配置
    1.安装虚拟环境,打开vscode输入pipinstallvirtualenvvirtualenv--version2.创建项目文件夹mkdirmyproject创建你自己的文件夹输入cdmyproject进入你的文件夹然后输......
  • Java的反射
    在我们平时的开发中,我们肯定会遇到过spring框架。框架中我们几乎不需要手动去new对象。只需要通过一些简单的配置,spring就会把对象为我们创建好。这里就用到反射。下面我......
  • 前端开发环境搭建
    1nvm(nodeversionmanager)的安装和使用(管理node版本)下载地址:https://github.com/coreybutler/nvm-windows/releases 选择想要的版本,点击nvm-setup.zip可直接下载安装:安......
  • 2022 Java 企业面试题汇总
    Java基础部分请列举至少三个JDK安装目录下的课程性程序(javac)请分析命题:“Java采用自动垃圾回收技术(GC),因此不会出现内存泄露”简单描述单子模式(单例模式)的各种不同实......
  • springMvc36-JavaEE-JSP基础-EL表达式和JSTL标签库(Taglibs)
    EL表达式和JSTL标签库:在JSP页面代替java代码,便于编写一.EL表达式   作用:${}简化脚本表达式<%=%>   j2ee1.4以前版本需指定<%@pageisELIgnored="false......
  • Java中的普通方法和构造方法的区别
    构造方法又称构造函数、构造器、constructor。//语法:[修饰列表]方法名(形参列表){方法体;}//显式无参构造方法publicclassUser{publicUser(){......
  • Flask 学习-1.简介与环境准备
    前言Flask是由python开发的轻量的web框架,小巧,灵活,一个脚本就可以启动一个web项目,上手非常容易。Flask和Django框架对比Django:大而全,有一套完整的框架,但是耦合性......
  • js获取video的暂停、播放事件,并切换清晰度
    1、video是H5新增的视频标签,在项目上用的最多的功能就是:(1)暂停的时候显示广告图片(图片有跳转链接)(2)切换清晰度后,视频按切换前播放时间继续自动播放(或者暂停播放)2、需要准......
  • JavaSE——多线程
    多线程(⭐⭐⭐⭐⭐)实现多线程方式一:继承Thread类方法介绍方法名说明voidrun()在线程开启后,此方法将被调用执行voidstart()使此线程开始执行,Java虚拟机......