java.lang.reflect.inaccessibleobjectexception не может сделать jdk.internal.loader.classloaders
У меня есть исключение, подобное java.lang.reflect.InaccessibleObjectException: невозможно сделать jdk.internal.loader.ClassLoaders$AppClassLoader(jdk.internal.loader.ClassLoaders$PlatformClassLoader,jdk.internal.loader.URLClassPath) доступным: модуль java не "открывает jdk.internal.loader" для безымянного модуля @45f08579
после того, как я использую группу компиляции библиотеки : 'com.github.snowindy', имя:'scriptlet4docx', версия: '0.8.6'
я нашел какое-то решение, например
1. java --add-opens java.base/java.lang=ALL-UNNAMED отсюда. Как решить InaccessibleObjectException ("Невозможно сделать {member} доступным: модуль {A} не" открывает {package}'в {B}") на Java 9?
2. java --add-opens java.base / jdk.internal.loader=ALL-UNNAMED --add-opens jdk.zipfs / jdk.nio.zipfs=ALL-UNNAMED -jar scriptlet4docx-0.8.6.jar
поэтому я попытался запустить эту команду в своем терминале, но она не работает. а также я попытался добавить опцию vm, например, введите описание изображения здесь
или здесь введите описание изображения здесь, но они оба не работают...
Я использовал версию jdk по умолчанию в intellij jdk11.
1 ответ
Фактически, в сообщении говорится, что вам нужно сделать зеркало с jvm удара, опция jvm находится не в intellij, а в gradle.
поэтому я добавляю этот код в build.gradle, а затем он работает
tasks.withType(JavaExec) {
jvmArgs += ['--add-opens', 'java.base/jdk.internal.loader=ALL-UNNAMED']
}