关于IDEA导入gradle项目中“程序包com.sun.tools.javac.util不存在” 问题的解决方法

本文讲述了如何在Gradle项目构建中处理com.sun.tools.javac.util不存在和NotImplementedException错误,通过修改build.gradle文件添加本地jar包依赖,并在JavaCompiler设置中指定出口权限来解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在导入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后重新构建项目就成功了

构建进程终止异常: E:\java1.8\bin\java.exe -Xmx700m -Djava.awt.headless=true "-Djna.boot.library.path=E:\java\IntelliJ IDEA 2023.3.5/lib/jna/amd64" -Djna.nosys=true -Djna.noclasspath=true --add-opens jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED -Dexternal.project.config=C:\Users\Lenovo\AppData\Local\JetBrains\IntelliJIdea2023.3\projects\idea.ab213168\external_build_system -Dcompile.parallel=false -Drebuild.on.dependency.change=true -Didea.IntToIntBtree.page.size=32768 -Djdt.compiler.useSingleThread=true -Daether.connector.resumeDownloads=false -Dio.netty.initialSeedUniquifier=7747785284316372920 -Dfile.encoding=GBK -Duser.language=zh -Duser.country=CN -Didea.paths.selector=IntelliJIdea2023.3 -Djps.language.bundle=C:/Users/Lenovo/AppData/Roaming/JetBrains/IntelliJIdea2023.3/plugins/zh.233.407/lib/zh.233.407.jar "-Didea.home.path=E:/java/IntelliJ IDEA 2023.3.5" -Didea.config.path=C:/Users/Lenovo/AppData/Roaming/JetBrains/IntelliJIdea2023.3 -Didea.plugins.path=C:/Users/Lenovo/AppData/Roaming/JetBrains/IntelliJIdea2023.3/plugins -Djps.log.dir=C:/Users/Lenovo/AppData/Local/JetBrains/IntelliJIdea2023.3/log/build-log "-Djps.fallback.jdk.home=E:/java/IntelliJ IDEA 2023.3.5/jbr" -Djps.fallback.jdk.version=17.0.12 -Dio.netty.noUnsafe=true -Djava.io.tmpdir=C:/Users/Lenovo/AppData/Local/JetBrains/IntelliJIdea2023.3/compile-server/idea_2f20a311/_temp_ -Djps.backward.
最新发布
06-21
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值