Ответ 1
Вы не должны удалять jersey-bom
из dependencyManagement
.
Спецификации спецификаций (спецификаций), связанные с соответствующими зависимостями, чтобы их версии работали вместе. Вы можете прочитать об этом в документах maven на этой странице.
Поскольку он живет в dependencyManagement
(не в dependencies
), он фактически не добавляет зависимости к вашему проекту, а просто централизует управление версиями. Если вы не знакомы с этой разницей, прочитайте больше в этом SO-ответе.
В принципе, спецификация позволяет вам добавить столько зависимостей от Джерси, сколько вам нужно, не беспокоясь о смешении плохих версий:
<dependencies>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-grizzly2-http</artifactId>
<!-- NO VERSION NEEDED BECAUSE OF THE BOM -->
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<!-- NO VERSION NEEDED BECAUSE OF THE BOM -->
</dependency>
</dependencies>