#linux #spring-boot #spring-amqp #spring-messaging
#linux #весенняя загрузка #spring-amqp #spring-обмен сообщениями
Вопрос:
Моя версия spring_boot_version равна ‘2.0.5.RELEASE’, spring_version = ‘4.3.8.RELEASE’, а зависимости spring, которые я использую для запуска rabbit mq, являются:
compile("org.springframework.boot:spring-boot-starter-websocket:$spring_boot_version") {
exclude group: "org.springframework.boot", module: "spring-boot-starter-logging"
}
compile "org.springframework.boot:spring-boot-starter-log4j2:$spring_boot_version"
compile("org.springframework.amqp:spring-rabbit:2.1.4.RELEASE") {
exclude group: "org.springframework.boot", module: "spring-boot-starter-logging"
}
compile "org.codehaus.jackson:jackson-mapper-asl:1.9.13"
compile "org.apache.logging.log4j:log4j-web:2.7"
Приложение отлично работает на моем локальном компьютере, но я получаю эту ошибку при запуске сервера spring boot в качестве службы systemd на сервере Linux.
Как решить эту проблему на уровне сервера?
Ответ №1:
Я бы рекомендовал org.springframework.boot:spring-boot-starter-amqp
spring-rabbit
использовать его, поскольку вы используете spring boot.
Ошибка, которую вы видите, вероятно, потому, что вам org.springframework.amqp:spring-amqp
также нужно добавить.
Комментарии:
1. и если я использую его, какую версию я должен использовать?
2. Должно быть что-то другое; 2.1.4 просто не совместим с Boot 2.0.5 (а для загрузки 2.0.x требуется spring 5.0.x, а не 4.3.x). Загрузка 2.0.x работает с spring amqp 2.0.x, загрузка 2.1.x работает с amqp 2.1.x. Как говорит @devshawn, лучше использовать загрузочный стартер, чтобы получить все правильные зависимости; используйте ту же начальную версию, что и ваша загрузка.
3. @viraj — Это может работать локально из-за того, что что-то еще находится в вашем пути к классу java, например, если вы используете IDE и импортируете что-то другое, кроме
build.gradle
— как сказал @Gary Russell, я бы попробовал spring-boot-starter-amqp и использовал ту же версию spring boot, которую вы используетедля этой зависимости (и удалите явную зависимость spring-rabbit).