
Grails: ошибка java.lang.LinkageError
А конкретно —
java.lang.LinkageError: loader constraint violation:
loader (instance of org/codehaus/groovy/tools/RootLoader) previously
initiated loading for a different type with name
"org/w3c/dom/UserDataHandler"
Это дело возникло, когда я в Grails решил воспользоваться динамически генерируемым XSLT. Для этого нужно (проще) использовать классы DOM, а при вызове DOMDocument.documentElement вылазить обозначенный эксепшен.
Поиск дал понять, что я такой не один, и даже в Groovy-сообществе эта тема обсуждалась (JIRA 2303). Корень зол зиждется в jaxen.jar ну и, видимо, в самой организации проекта Grails. Мне помогло ручное удаление класса UserDataHandler из jaxen.jar. Как решить проблему красиво я не знаю, да впрочем и разработчики умыли руки (см. в конце ссылки).
Комментарии (0)