java .lang.reflect.inaccessibleobjectexception не может сделать jdk.internal.loader.classloaders - PullRequest
0 голосов
/ 07 мая 2020

у меня такое исключение, как java .lang.reflect.InaccessibleObjectException: невозможно сделать jdk.internal.loader.ClassLoaders $ AppClassLoader (jdk.internal.loader.ClassLoaders $ PlatformClassLoader, jdk.internalass.loader.URLClassloader, jdk.internalass.loader.URLClassLoader, jdk.internalass.loader. ) доступно: модуль java .base не «открывает jdk.internal.loader» для безымянного модуля @ 45f08579 после того, как я использую библиотеку группу компиляции: 'com.github.snowindy', имя: 'scriptlet4docx', версия: '0.8.6'

я нашел какое-то решение, например 1. java --add-opens java .base / java .lang = ALL-UNNAMED отсюда Как устранить InaccessibleObjectException («Невозможно сделать {член} доступным: модуль {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 Ответ

1 голос
/ 07 мая 2020

На самом деле в сообщении говорится, что вам нужно сделать зеркало с jvm удара, опция jvm находится не в intellij, а в gradle.

поэтому я добавляю этот код в build.gradle и тогда работает

tasks.withType(JavaExec) {
    jvmArgs += ['--add-opens', 'java.base/jdk.internal.loader=ALL-UNNAMED']
}
...