场景描述
在Windows Server 2019版本的系统服务器上安装jdk17时,将jdk17的exe文件拷贝到服务器上,然后安装完成后,未配置环境变量,直接在cmd输入 java -version
命令,然后发现,没有出现想象中的错误提示: 'java' 不是内部或外部命令,也不是可运行的程序
,而是出现了刚刚安装的jdk17版本信息。这和以前学习java,安装jdk时的过程不一致,遂起了兴致,研究一番,也避免因为不知所以然而埋下隐患。
原因分析
遇事不决,度娘一下。
通过搜索相关的内容,发现大部分的文章都指向一个方向:
jdk安装过程中,java、javac、javaw三个命令被复制到C:\Windows\System32路径下,所以在安装完成之后,就可以通过java -version命令验证是否安装成功
链接: 安装JDK后未配置环境变量为啥可以JAVA -version
但我在这个路径底下,没有发现这三个命令文件,所以还需要继续查找。
从环境变量来看,发现在Path路径下,第一行的路径中,有java的字眼,那么就照着这个路径去寻找文件
在这个路径下,打开可以发现,前面提及的三个文件,都在这个文件夹下,那么为了确认是否是这里产生了效果,一个简单的方式就是,把文件剪切到其他地方,然后再使用java -version
命令验证。
解决方案:
从以上的内容可以发现,jdk高版本可以在安装时实现自动配置,这点无疑是方便了初学者的入门,减少入门时“一杯茶,一根烟,一个配置改一天”的情况发生,会对新手更友好一些。
但在系统上线时,为了防止运行项目时,一些抓马的情况发生,所以还是建议选择常规的环境配置的方式实现。
对于系统自己生成的配置路径,可以选择删掉这个路径下的文件夹,或者移除path下的路径参数即可。
修改这个配置的一个重要的意义在于,同一台服务器上可能存在多个使用不同jdk版本的项目,通过修改环境变量,可以方便切换项目支持的jdk环境。