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行,添加注釋即可:
再次重新導入依賴可以看到沒有問題了: