Идея избежать этого spring.handlers / spring.schemas будет перезаписана при слиянии нескольких весенних зависимостей в одной банке

Я получил ошибку Unable to locate NamespaceHandler when using context:annotation-config running (java -jar) jar, собранный модулем maven-assembly-plugin и содержащий мой проект и все его зависимости.

Поскольку другие люди правильно замечены на форуме forum.springsource.org (сообщение # 7/8 ), проблема возникает из-за того, что файлы META-INF/spring.handlers и META-INF/spring.schemas , которые присутствуют в разных банках, перезаписываются когда maven-assembly-plugin переупаковывает банки в одном файле.

Глядя на содержимое двух файлов весны – *. Jar, вы можете видеть, что файлы находятся в одной и той же позиции относительно пути к classам

 $ jar tf spring-oxm-3.0.3.RELEASE.jar META-INF/spring.handlers META-INF/spring.schemas org/springframework/oxm/GenericMarshaller.class ... $ jar tf spring-context-3.0.3.RELEASE.jar META-INF/spring.handlers META-INF/spring.schemas org/springframework/context/ApplicationContext.class 

Нельзя ли установить папку META-INF в определенном пакете? Если это так, то я бы предложил (надеюсь, что это применимо) – META-INF/spring.handlers файлы META-INF/spring.shemas и META-INF/spring.handlers в пакет, на который они ссылаются.

 $ jar tf spring-oxm-3.0.3.RELEASE.jar org/springframework/oxm/META-INF/spring.schemas org/springframework/oxm/META-INF/spring.handlers org/springframework/oxm/GenericMarshaller.class ... $ jar tf spring-context-3.0.3.RELEASE.jar org/springframework/context/META-INF/spring.handlers org/springframework/context/META-INF/spring.schemas org/springframework/context/ApplicationContext.class 

Таким образом, они не будут конфликтовать при объединении в одну банку. Что вы думаете об этом?

Мне удалось избавиться от ошибки, используя плагин shader вместо плагинов ассемблера (багги):

   org.apache.maven.plugins maven-shade-plugin   package  shade     at.seresunit.lecturemanager_connector.App   META-INF/spring.handlers   META-INF/spring.schemas       

Я думаю, что нашел решение на форумах springsource .. Прошло довольно много времени с тех пор, как я его просмотрел. Не могу вспомнить автора. Престижность ему в любом случае: p

ура

С Ant.

                                       
  • Spring Java Config vs Jboss 7
  • Автоматическая проводка списка с использованием схемы util дает NoSuchBeanDefinitionException
  • Spring 3.0 делает ответ JSON с помощью конвертера сообщений Jackson
  • как читать переменную системной среды в Spring applicationContext
  • Потоковая обработка больших наборов результатов с помощью MySQL
  • Обычная аутентификация для REST API с использованием Spring restTemplate
  • Как найти все controllerы в Spring MVC?
  • Отключить Spring Security для OPTIONS Http Method
  • Безопасность SecurityContextHolder Spring Security: сеанс или запрос?
  • Установить системное свойство с конфигурационным файлом Spring
  • Пользовательский HttpMessageConverter с @ResponseBody, чтобы делать вещи Json
  • Давайте будем гением компьютера.