如题,有时候会遇到这种问题。

一个shi山项目必须使用JDK 1.8,另外一个新项目用的是JDK 17或者JDK 21(17/21均为LTS版本)。

这时候怎么办呢?

这需求是不是有点像变色龙?

依环境而改变颜色。

下面是我用到的两个办法,可以为你提供一点参考。

一、环境变量和自定义选项

这是我常用的方案。不一定特别适合你,但我觉得很简单。

假设你平常用得最多的是JDK 21,那么别犹豫。直接把JDK 21设置成环境变量。

电脑上安装JDK 1.8,在需要的时候为单独项目单独配置(基本会涉及到IDEA,启动项目等等)。

二、使用框架

在Python中有个框架叫pyenv,其作用是通过命令行切换电脑上的Python版本。

偶然发现Java也有个类似的框架,叫jenv。遗憾的是jenv目前只支持MacOS和Linux。暂时没有适配Windows。

在jenv的Issue中看到一个讨论,但没有结论(😂)

值得一提的好消息是,一位大佬fork了jenv实现了一个Windows版本..

坏消息是,Windows版本最新更新是一年前(😢)

so? Windows建议直接使用方案一。

引用:

1. (jenv issue关于支持Windows的讨论):

https://github.com/jenv/jenv/issues/35

2. (大佬fork jenv仓库实现的Window版):

https://github.com/FelixSelter/JEnv-for-Windows/