Spring框架BOM不包含Spring Security

时间:2018-04-16 09:33:36

标签: spring spring-security maven-bom

我正在尝试简化我的依赖关系管理,我只想使用所有最新的稳定的Spring Framework和Spring Security版本。以前我会明确地包含版本号以及我所有的Spring依赖项,如此

<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>

我已经意识到BOM概念,并希望用它来管理像这样的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>

但是,此BOM不提供Spring Security工件的版本,即使它们都遵循相同的版本号。 Spring Security还有另一个BOM,它提供了这些版本。我是否只是像这样导入两个BOM?

<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为所有弹簧模块使用特定版本。我错过了什么?

0 个答案:

没有答案