Я только что сгенерировал код из JAXB 2.3.0, но при работе с опцией java --illegal-access = deny я получаю ошибку времени выполнения
NoSuchMethodException: sun.mis c .Unsafe.defineClass.
Я прочитал много статей и ответов по этой теме c, но все они были бесполезны для моей ситуации, поскольку ни одна из них не относится к JAXB. Трассировка стека показывает, что источником является строка моего кода, которая говорит:
context = JAXBContext.newInstance(TopologyComplexType.class);
TopologyComplexType - это класс root из схемы XML, которую использует JAXB. Я могу изменить свой вариант отказа от разрешения, но это просто скрывает проблему под ковром (чтобы раскрыться позже). Эта проблема возникла после «обновления» с Java 8 до Java 13 и после потери всех этих Java пакетов.
На данный момент у меня исправлены большинство проблем, но это это последняя давняя проблема, которую мне не удалось решить. Я знаю, что Unsafe.defineClass был удален из Java 11, и в коде, сгенерированном JAXB, не существует строки defineClass, поэтому я действительно не знаю, откуда это происходит.
Есть идеи?