在java学习中遇到的环境变量的问题
在初学java时,我甚至不知道jdk和jre是什么,以及为什么要配置环境变量,随着学习的升入,以及在安装向python,MongoDB等软件配置环境变量后,我才较为深刻的理解了环境变量。通俗来讲,就是把你软件的bin目录的具体位置告诉给操作系统,让操作系统运行这些东西时,能够找到他们。我也找来了百度的解释:(好像不说人话)
环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。
环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。
先描述一下我所遇到的问题:(在网上找了很久也没有找到和我类似的问题。)我环境变量里配置的是jdk13,但是当我重新装了个8之后,环境变量没有改,但是进入cmd看一下java版本后发现版本自动变成了1.8,这就有意思了,难道我之前配置的没有用?答案是之前配置的肯定有用,不然之前为什么版本是13呢,我猜测在安装8之后,会不会是Oracle公司知道我们会安装多个版本的jdk,会默认将你最后安装jdk的那个版本设置为默认版本。当然,这只是我的猜测。当然也有可能是windows10的原因。。毕竟我又不是微软的工程师。。。
废话不多说,看图:
这是目前的java版本
目前的环境变量
这里我们可以看见是13 的路径
下面是我的jdk的文件夹
本来以为切换jdk后要自己该环境变量,谁知道,当我进入cmd后竟然发现java版本自动帮我变了。而且再看了一下环境变量,发现竟然也没有改动。于是我不行斜。会不会是系统的bug,于是我用eclipse新建了一个java项目,发现默认的是jdk13,于是我切换了一下,换成1.8后,随便写了一下 ,发现还是能编译运行,这就说明jdk安装成功了。之后我又换了idea试了试,发现还是可以的。为防止出现意外(毕竟我的目的已经达到了,也有点懒)就没有再动环境变量,因为我也无法确保系统会不会抽风,万一修改配置后,无法运行了,就gg了。
重启后,还是可以,问题一样,那么这个问题就留到以后再看吧!
找到原因了,
用javac编译时会报错
版本不一致
javac 虚拟机上编译的时候使用的是13,
还是要改一下环境变量
更改后,实现两个版本一致