Весьма вероятно, что в приложение включен файл jar с функцией java9.
Наиболее просто, существует нормальный класс, скомпилированный в java9.
Скорее всего,приложение загрузило утилиту jar, например, log4j, которая имеет класс «module-info» или содержит каталог с несколькими выпусками (в настоящее время возможна только «META-INF / version / 9»).
(См. https://www.javaworld.com/article/3184029/java-language/java-9s-other-new-enhancements-part-4-multi-release-jar-files.html, для получения дополнительной информации о мульти-выпусках jar.)
Файл класса "module-info" всегда будет компилироваться в java9 или выше.Классы в каталоге с несколькими выпусками будут скомпилированы в версию Java, которая указана в качестве имени каталога.
Во всех случаях, если класс достигает обработки аннотаций с использованием ASM, возникает исключение IllegalArgumentException.(Попытка загрузить класс также приведет к исключению.)
Проблема возникает, отчасти, потому что текущая обработка аннотаций WebSphere Liberty использует простой тест для обнаружения ресурсов «класса», причем тестпроверить, заканчивается ли имя ресурса класса (запись файла или jar) на «.class».До введения классов типов module-info и до помещения классов в папку META-INF этого теста было достаточно.
В качестве обновления делается изменение кода, которое предотвратит проблемные классы(класс «module-info» или любой класс в «META-INF») из обрабатываемого.См. Выпуск 1635 об открытой свободе: https://github.com/OpenLiberty/open-liberty/issues/1635 для получения дополнительной информации.
В отношении обновления проекта, которое решает проблему: мой лучший смысл заключается в том, что это обновление проекта влияет на то, что фляги помещаются вприложение, в результате чего банки с функциями java9 больше не вставляются.