Как исправить исключение java illegalaccessexception в jdk 11

#java #java-11 #apache-zeppelin

Вопрос:

У меня есть какое-то java-приложение, когда я запускаю это приложение, я получаю следующую ошибку

 caused by: java.lang.illegalaccessexception: class org.apache.lucene.store.mmapdirectory$2$1 cannot access class jdk.internal.ref.cleaner (in module java.base) because module java.base does not export jdk.internal.ref to unnamed module @3d97a632
 

он работает в jdk1.8, но по какой-то причине я не могу понизить рейтинг.

После более подробного поиска я узнал, что установка этого параметра «—add-exports java. base/JDK.internal.разное=все без названия», но приложение, которое я использую, запускается множеством внутренних скриптов, так как установить их на уровне ENV, чтобы JVM мог выбрать?

Комментарии:

1. Уровень ОС? это флаг запуска конкретной виртуальной машины (который все равно не будет работать в jdk-17)

2. Я имею в виду установить как ENV var, чтобы он мог стать по умолчанию для JVM

3. Я не пробовал, но вы можете попробовать JAVA_OPTS

4. вам нужно лучше понять, что вы подразумеваете под «я запускаю это приложение», как вы это делаете? на чем основано приложение?

5. @kcoder для начала вам придется раскрыть магию, которую эти сценарии выполняют внутри. в какой-то момент времени они будут вызывать java ... , вот где вам нужно будет убедиться , что ваши аргументы достигнут. В любом случае, улучшая теги вопросов, нужно обратиться за помощью к людям, имеющим опыт работы с приложением.