Каковы правильные зависимости 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>

и jetty плагин

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

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

org.springframework.зернышки.FatalBeanException: класс NamespaceHandler [org.апаш.xbean.весна.контекст.П2.XBeanNamespaceHandler] для пространство имен [http://activemq.apache.org/schema/core] нет найдено; вложенные исключением является Java.ленг.ClassNotFoundException: орг.апаш.xbean.весна.контекст.П2.XBeanNamespaceHandler

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

2 ответов


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

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

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