Я перевожу довольно большое приложение монолитной пружинной загрузки с Java 8 на Java 11. После того, как я исправил удаленные модули JEE, я столкнулся с несколькими ошибками отражения, основанными на сильной инкапсуляции новой представленной концепцией модульной системы.
Запуск приложения работает с Java 11, однако чистая установка через Maven не работает. Есть несколько тестовых сбоев, вызванных InaccessibleObjectException из-за отражения против сильной инкапсуляции.
java.lang.reflect.InaccessibleObjectException: Unable to make field private jdk.internal.reflect.MethodAccessorImpl jdk.internal.reflect.DelegatingMethodAccessorImpl.delegate accessible: module java.base does not "opens jdk.internal.reflect" to unnamed module @6a969fb8 at com......(some Test-Method).
Я уже пробовал решение, предложенное в этом посте Как решить InaccessibleObjectException ("Невозможно сделать {member} доступным: модуль {A} не 'открывает {package}' для {B}") в Java 9? .
Но ни с использованием параметра --add-открывает файл java.base / jdk.internal.reflect = ALL-UNNAMED в качестве аргумента Maven и не сохраняет его в файле maven jvm.config.
Существуют ли другие способы избавления от этихИсключения