解决 alibaba 数据库连接池 druid-1.1.22 无法使用 JDK 11 的问题
1、我们很多项目使用了 alibaba druid-1.1.22 作为 MySQL 的数据连接池,相信大家也有不少项目也采用了类似的方案,我们知道 alibaba druid-1.1.22 在 JDK 1.8 下可以正常工作,自然也不会报异常提示,当我们升级到 JDK 11 后发现 IntelliJ IDEA 报 alibaba druid-1.1.22 错误,但是不影响正常启动和使用,然而总觉得这样不妥,搞不好哪里爆出个炸弹出来。
2、既然 alibaba druid-1.1.22 只能在 JDK 1.8 或之前的版本使用(JDK 最低的版本并未测试),那么我们帮 alibaba druid-1.1.22 指定需要的 JDK 版本为 1.8,这样既不影响我们现在的代码,也可以放心的升级 JDK 1.8 到 JDK 11。
3、我们创建文件夹 E:\JAR-Repository\JavaDevelopKitRepository\JavaDevelopKit-1.8,如果没有请自行创建,也可以根据自己的情况创建其它文件夹,将自己电脑上的 ${JAVA_HOME}/jdk1.8.0_161/lib 文件夹中的文件 jconsole.jar 和 tools.jar 复制到文件夹 E:\JAR-Repository\JavaDevelopKitRepository\JavaDevelopKit-1.8 中。
4、找到 druid-1.1.22.pom 所在的文件夹并打开此文件,搜索关键字 ${env.JAVA_HOME} 和 ${project.basedir} 并将其全部替换为绝对路径 E:\JAR-Repository\JavaDevelopKitRepository\JavaDevelopKit-1.8 后保存文件。
5、我们这里用的是 gradle 管理项目的 JAR,druid-1.1.22.pom 所在的文件夹为:
E:\JAR-Repository\gradleRepository\caches\modules-2\files-2.1\com.alibaba\druid\1.1.22\2fb16156b4dbf0bad90739e25cffe41cf8851b86\
如果是采用 Maven 管理 JAR 的话,其所在文件夹的为:
E:\JAR-Repository\mavenRepository\com\alibaba\druid\1.1.22\
这是只是给出了我们电脑上的 druid-1.1.22.pom 所在的文件夹,客官根据自己的情况类比着找即可。