問題描述:
使用Android Studio運(yùn)行應(yīng)用時(shí)報(bào)錯(cuò):
Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not "opens java.io" to unnamed module @7a4eb222?
從報(bào)錯(cuò)信息可以看出跟Java模塊化有關(guān),先前都是用的JDK8 而模塊化是JDK9引入的新功能
解決方法:
經(jīng)過檢查發(fā)現(xiàn)升級(jí)了gradle7,使用的JDK 17. 真是一次大跳躍, 不得不說Java這幾年發(fā)版本真快。
方法1:
既然JDK 17要模塊化,那就跟項(xiàng)目指定一個(gè)不需要模塊化得JDK8.
可以在gradle.properties(項(xiàng)目根目錄下可以找到)中設(shè)置
org.gradle.java.home=/path_to_jdk8_directory
方法2:
JDK為了方便兼容原來沒有使用模塊化的項(xiàng)目,提高了一些配置項(xiàng),依然使用JDK17,可以在gradle.properties文件中添加配置項(xiàng):
org.gradle.jvmargs=-Xmx1536M \
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED \
--add-opens=java.base/java.lang=ALL-UNNAMED \
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED \
--add-opens=java.base/java.io=ALL-UNNAMED \
--add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED文章來源:http://www.zghlxwxcb.cn/news/detail-625654.html
問題解決文章來源地址http://www.zghlxwxcb.cn/news/detail-625654.html
到了這里,關(guān)于Unable to make field private final java.lang.String java.io.File.path accessible: module java.base的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!