У меня есть веб-приложение, содержащее более 100 файлов jar, перетаскиваемых Maven, и все вышло из-под контроля.
Например, я закончил с 3 версиями базовых классов Spring, что иногда приводило к сбою развертывания приложения (кажется, что порядок загрузки jar-файлов из WEB-INF / lib не всегда совпадает с Weblogic): *
spring-2.5.6.SEC01.jar
spring-2.5.6.A.jar
spring-core-2.0.8.jar
Так что я пытаюсь навести порядок. Я начал использовать в основном исключения, но мне интересно, не стоит ли вместо этого полагаться на элемент dependencyManagement в моих собственных файлах pom. Какова лучшая практика в этом отношении?
Кроме того, версия транзитивных зависимостей часто не указывается. Например, в файле Spring-security-core 2.0.5.RELEASE есть:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
Какая версия spring-core будет загружена, если я ничего не укажу? Последние доступны? Будет ли он меняться со временем?
Спасибо.