В Java SE 17 качество инкапсуляции в Java было улучшено за счет удаления
флага --illegal-access. Помимо скрытия внутренних механизмов JDK,
это также не позволяет обращаться из одного модуля к неэкспортированным типам другого модуля.
Это изменение может вызвать проблемы при сериализации IIOP для параметров и возвращаемых значений
в вызовах методов из удаленных EJB, поскольку означало бы доступ к полям и значениям, объявленным как private.
Проблемы, связанные с этим изменением, обычно проявляются как стандартная ошибка java.rmi.MarshalException.
Для исправления ошибки следует открыть требуемые модули на клиенте или сервере, на котором произошла эта
ошибка. По умолчанию Liberty открывает несколько распространенных модулей. Увидеть модули, уже открытые Liberty,
можно в файле wlp/lib/platform/java/java9.options. Дополнительные операторы открытия следует
добавлять в файл jvm.options. Например:
--add-opens
java.base/java.lang=ALL-UNNAMED
Дополнительная информация об этих изменениях приведена в разделе JEP 403: Полностью инкапсулирует внутренние модули JDK.