JDK8下Gradle编译报sun.security.provider.certpath.ldap包不存在解决方案
解决方案
在你的build.gradle.kts文件中添加如下配置即可:
import org.gradle.api.tasks.compile.JavaCompile tasks.withType<JavaCompile> { // 开启独立进程执行编译,对应Maven配置中的<fork>true</fork> options.isFork = true // 添加编译器参数,解除对sun.*内部API的访问限制 options.compilerArgs.add("-XDignore.symbol.file") }
补充说明
- 本次报错的原因是JDK编译器默认限制访问
sun.*开头的内部非公开API,上述配置中的-XDignore.symbol.file参数可以解除该限制,和你找到的Maven解决方案效果完全一致。 - 注意:
sun.*属于JDK内部实现接口,没有公开的兼容性承诺,不同JDK版本、不同厂商的JDK实现可能存在差异,后续升级JDK版本时需要提前验证兼容性,有条件的话优先选择标准公开API替代内部API调用。
内容的提问来源于stack exchange,提问作者Viibration
相关产品推荐
相关产品推荐

