Spring Framework BOM не включает версии для Spring Security

Я пытаюсь упростить управление зависимостями и просто хочу использовать все последние стабильные выпуски Spring Framework и Spring Security. Ранее я бы явно включил номера версий вместе со всеми моими пружинными зависимостями, например

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>${springframework.version}</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${springframework.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-core</artifactId>
    <version>${springframework.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-web</artifactId>
    <version>${springframework.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-config</artifactId>
    <version>${springframework.version}</version>
</dependency>

С тех пор я узнал о концепции спецификации и хотел бы использовать ее для управления версиями Spring, например, так

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-framework-bom</artifactId>
            <version>4.3.4.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Однако эта спецификация не предоставляет версии для артефактов Spring Security, даже если все они имеют одинаковые номера версий. Существует другая спецификация для Spring Security, которая предоставляет эти версии. Я просто так импортирую обе спецификации?

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-framework-bom</artifactId>
            <version>4.3.4.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-bom</artifactId>
            <version>4.3.4.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Если все модули Spring выпускаются с одинаковыми номерами версий, то почему мы все равно должны идти на все это? Почему я не могу просто сказать maven использовать конкретную версию для всех модулей Spring. Что мне не хватает?

0 ответов

Другие вопросы по тегам