Я пытаюсь создать динамические классы в приложении весенней загрузки Java 17, используя библиотеку Javasssist, и это работает только тогда, когда мы добавляем опцию VM как --add-opens java.base/java.lang=ALL-UNNAMED при весенней загрузке. Конфиг. Если этот параметр виртуальной машины не добавлен, мы получим ошибку
Код: Выделить всё
unable to make protected final java.lang.class java.lang.classloader.defineclass security protection domain throws java.langClassformaterror accessible: module java.base does not openns java.lang to unnamed module
Теперь, когда мы хотим развернуть наше приложение, нам нужна альтернатива --add-opens java.base/java.lang=ALL-UNNAMED, добавленная в код, например pom.xml или какой-нибудь другой файл, поскольку мы не хотим использовать параметры виртуальной машины. Но ни один из параметров, добавленных в pom.xml, похоже, не работает. Мы всегда получаем одну и ту же ошибку.
Пытались добавить множество плагинов сборки POM, таких как
Код: Выделить всё
org.apache.maven.plugins
maven-surefire-plugin
--add-opens java.base/java.lang=ALL-UNNAMED
или
Код: Выделить всё
org.springframework.boot
spring-boot-maven-plugin
${spring-boot.version}
--add-opens java.base/java.lang=ALL-UNNAMED
но ничего не помогло. Может ли кто-нибудь помочь, как мы можем решить эту ошибку в коде в качестве альтернативы опции VM.
Подробнее здесь:
https://stackoverflow.com/questions/788 ... ll-unnamed