如果您使用 spring 平台 bom,是否应该使用父级?
Should you use the parent if you are using the spring platform bom?
有些依赖版本没有,所以我添加了 spring 平台 BOM,parent
声明还有用吗?
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.1.RELEASE</version>
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.spring.platform</groupId>
<artifactId>platform-bom</artifactId>
<version>1.1.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
我个人更喜欢使用 platform-bom
作为 parent,即
<parent>
<groupId>io.spring.platform</groupId>
<artifactId>platform-bom</artifactId>
<version>1.1.1.RELEASE</version>
<relativePath />
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
通过这种方式,我不必定义 spring-boot 版本号,它会自动更新为 spring 平台的较新版本,我不必担心任何不一致。
有关所有托管依赖项的完整列表,请参阅 http://docs.spring.io/platform/docs/1.1.1.RELEASE/reference/htmlsingle/#appendix-dependency-versions。
编辑:正如 Andy Wilkinson 所指出的,spring 平台继承了 spring-boot-starter-parent
所以所有 "sensible defaults" 如 http://docs.spring.io/spring-boot/docs/1.2.1.RELEASE/reference/htmlsingle/#using-boot-maven 也适用。
导入 BOM(在 dependencyManagement
部分)和使用 parent
之间存在重要区别
在dependencyManagement
中导入的BOM仅提供依赖项的默认值,但Parent-way也包括其他部分(plugins
、plugin-managent
、dependencies
、dependencyManagement
...)
因此,当您删除父级 spring-boot-starter-parent
时,您必须首先复制 plugin-managent
您需要的内容。
有些依赖版本没有,所以我添加了 spring 平台 BOM,parent
声明还有用吗?
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.1.RELEASE</version>
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.spring.platform</groupId>
<artifactId>platform-bom</artifactId>
<version>1.1.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
我个人更喜欢使用 platform-bom
作为 parent,即
<parent>
<groupId>io.spring.platform</groupId>
<artifactId>platform-bom</artifactId>
<version>1.1.1.RELEASE</version>
<relativePath />
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
通过这种方式,我不必定义 spring-boot 版本号,它会自动更新为 spring 平台的较新版本,我不必担心任何不一致。
有关所有托管依赖项的完整列表,请参阅 http://docs.spring.io/platform/docs/1.1.1.RELEASE/reference/htmlsingle/#appendix-dependency-versions。
编辑:正如 Andy Wilkinson 所指出的,spring 平台继承了 spring-boot-starter-parent
所以所有 "sensible defaults" 如 http://docs.spring.io/spring-boot/docs/1.2.1.RELEASE/reference/htmlsingle/#using-boot-maven 也适用。
导入 BOM(在 dependencyManagement
部分)和使用 parent
在dependencyManagement
中导入的BOM仅提供依赖项的默认值,但Parent-way也包括其他部分(plugins
、plugin-managent
、dependencies
、dependencyManagement
...)
因此,当您删除父级 spring-boot-starter-parent
时,您必须首先复制 plugin-managent
您需要的内容。