1 问题描述
环境OpenJDK 11
+Gradle
,直接在build.gradle
中引入druid
的依赖,报错如下:
'dependencies.dependency.systemPath' for com.sun:tools:jar must specify an absolute path but is ${project.basedir}/lib/openjdk-1.8-tools.jar in com.alibaba:druid:1.2.6
'dependencies.dependency.systemPath' for com.sun:jconsole:jar must specify an absolute path but is ${project.basedir}/lib/openjdk-1.8-jconsole.jar in com.alibaba:druid:1.2.6
2 原因分析
具体原因的话在issue中可以知道,其实就是没有兼容JDK11
:
既然运行没有问题,那么就手动解决编译问题好了。
3 问题解决
根据IDEA
的错误提示(具体因druid
版本而异):
~/.gradle/caches/modules-2/files-2.1/com.alibaba/druid/1.2.6/c57198d77a31adf5bd36d35f9b12dc936b732587/druid-1.2.6.pom
修改提示中的pom
文件:
把上面的两个包注释掉就可以了,在1.2.6
版本的druid
中,修改pom
文件的第703行,添加注释即可:
再次重新导入依赖可以看到没有问题了: