По этой теме: Reasons of getting a java.lang.VerifyErrorПочему java.lang.VerifyError предотвращает успешную компиляцию?
java.lang.VerifyError
получает, если версия исполнения JVM новее JVM, которая использовалась для компиляции.
Мы можем исправить эту проблему, используя следующую опцию jvm: -XX:-UseSplitVerifier
.
По этим:
https://stackoverflow.com/a/16467026/2674303
использовать этот параметр является 'абсолютно безопасно'.
Таким образом, я не понимаю, почему java.lang.VerifyError является проблемой, которая предотвращает успешную компиляцию. Просьба уточнить. Может быть, это небезопасно для библиотек, которые используют инструмент bytecode?
Это не «предотвращает» успешную компиляцию. Скорее, компиляция была как-то неудачной/ошибочной, вызвав VerifyError. По сути, файл .class оказывается поврежденным. –
(Но упомянутый поток говорит об использовании опции, которая заставляет JVM использовать старый верификатор, а не «улучшенный». Неясно, находится ли обход проблемы в файле класса (в конструкции StackMapTable) или в новый верификатор (используя эту таблицу), но в любом случае обход должен быть абсолютно безопасным.) –