Каковы правильные зависимости Maven для использования Spring JMS и ActiveMQ?

Это довольно распространенная проблема, и я нашел множество решений, которые не работают для меня в Интернете. Я объявляю:

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-jms</artifactId>
  <version>3.0.7.RELEASE</version>
</dependency>

<dependency>
  <groupId>org.apache.activemq</groupId>
  <artifactId>activemq-all</artifactId>
  <version>5.5.0</version>
</dependency>

И плагин причал

<plugin>
  <groupId>org.mortbay.jetty</groupId>
  <artifactId>jetty-maven-plugin</artifactId>
</plugin>

Но я продолжаю получать следующее исключение при выпуске "mvn jetty: run":

org.springframework.beans.FatalBeanException: класс именHandler [org.apache.xbean.spring.context.v2.XBeanNamespaceHandler] для namespace [http://activemq.apache.org/schema/core] не найден; вложенными Исключением является java.lang.ClassNotFoundException: org.apache.xbean.spring.context.v2.XBeanNamespaceHandler

Какими будут правильные зависимости maven для запуска Jetty, ActiveMQ и Spring JMS?

Ответ 1

Вам нужна зависимость от xbean- spring

<dependency>
  <groupId>org.apache.xbean</groupId>
  <artifactId>xbean-spring</artifactId>
  <version>3.7</version>
</dependency>

Ответ 2

Если ваше намерение состоит в том, чтобы эти зависимости были "предоставлены" зависимостями для вашего веб-приложения, тогда сделайте их зависимыми от самого приманки-maven-plugin, вы можете добавить теги внутри объявления плагина причал-maven. Предполагая, что вы подтвердили, что ваши отсутствующие классы существуют в этих зависимостях или их транзитивных папках.