Flex SDK включает настроенную версию анализатора Xerces (lib / xercesPatch.jar).Все пользовательские классы заканчиваются на MM (для Macromedia).AFAICT, парсер был настроен так, чтобы связывать номера строк с проанализированными атрибутами.
В моем случае проблема была вызвана тем, что загрузчик классов приложения стал родителем загрузчика классов, который обрабатывал библиотеки Flex SDK.У меня есть Xerces в пути к классам приложения;Xerces также входит в класс Flex SDK.Классы парсера MM загружаются flexSdkClassLoader, потому что они имеют уникальные имена.Однако базовые классы анализатора находятся в загрузчике классов приложения (возможно, они уже загружены).
Исправлено использование загрузчика классов начальной загрузки в качестве родителя flexSdkClassLoader:
List<URL> flexSdkJars = ...;
URLClassLoader flexSdkClassLoader = new URLClassLoader(flexSdkJars.toArray(new URL[flexSdkJars.size()]), String.class.getClassLoader());
IllegalAccessError также влияет на некоторых пользователей Ant, выполняющих задачу mxmlc.Обходной путь для этого случая - запустить задачу mxmlc как отдельный процесс с помощью fork = "true".