最近因为项目原因,需要在java8和java11环境来回切换,windows切换环境变量没有Linux简单,通过shell脚本操作也会受到环境变量配置的影响。在修改环境变量来切换java版本时也会时不时出现没有生效的问题。一般出现这种问题,主要还是得考虑环境变量的来源和优先级。
1、环境变量Path配置的顺序,如C:\ProgramData\Oracle\Java\javapath 会默认存在环境变量中,并且默认优先级比较高。删除对应的环境变量配置,并且将自定义配置的优先级提前。
2、windows记录的用户操作对应的文件,在执行java脚本时会自动在C:\Windows\Prefetch目录下生成JAVA.EXE-*****.pdf文件,有时需要将这些文件删除才能使当前的配置生效。
在修改环境变量时,最好先kill掉java在后台的服务。
记录于2023.5.29