在导入gradle项目构建时报错“程序包com.sun.tools.javac.util不存在” 以及“NotImplementedException是内部专用 API, 可能会在未来发行版中删除
import sun.reflect.generics.reflectiveObjects.NotImplementedException”
“程序包com.sun.tools.javac.util不存在”的解决方法
在csdn上查到的方法都是在project structrue中添加tools.jar,但这没有解决问题
后来,我了解到可以修改build.gradle文件,将本地的jar包所在的文件目录作为依赖添加到项目中来解决这个问题,比如com.sun.tools.javac.util程序包就是tools.jar中,而tools.jar在jdk1.8/lib中,具体修改如下。如果是其他jar包不存在,也可以通过添加其所在文件目录作为依赖来解决问题
dependencies {
compile fileTree(dir: 'D:/JDK1.8/lib', includes: ['*.jar'])
}
“NotImplementedException是内部专用 API, 可能会在未来发行版中删除”的解决方法
同样在build.gradle文件中添加本地依赖
dependencies {
compile fileTree(dir: 'D:/JDK1.8/jre/lib', includes: ['*.jar'])
}
然后参照这位博主的方法FontDesignMetrics是内部专用 API, 可能会在未来发行版中删除_sun.font.fontdesignmetrics是内部专用 api, 可能会在未来发行版中删除-优快云博客
在File -> Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler中,在红圈处添加如下设置:
--add-exports java.desktop/sun.reflect=ALL-UNNAMED
(如果是其他包出问题的话可以根据包名修改红字部分)
Apply->OK后重新构建项目就成功了