|
对于最新稳定版本,请使用Spring Boot 4.0.0! |
使用插件
Maven用户可以继承Spring靴启动父项目以获得合理的违约情况。
父项目提供以下功能:
-
Java 17 作为默认编译器级别。
-
UTF-8源代码。
-
与
-参数. -
一个依赖管理部分,继承自
Spring Boot依赖关系POM,管理常见依赖的版本。 这种依赖管理允许你省略<版本>在你自己的POM中使用时,这些依赖的标签。 -
一次对
重新包装目标其中重新包装执行编号。 -
一个
本地配置文件配置构建以生成原生图像。 -
合理的资源过滤。
-
合理的插件配置(
Git 提交 ID 插件,和阴影)。 -
合理的资源过滤
application.properties和application.yml包括特定配置文件的文件(例如,application-dev.properties和application-dev.yml)
自从......application.properties和application.yml文件接受 Spring 风格的占位符(${…}Maven滤波被更改为@..@占位符。
(你可以通过设置一个名为resource.delimiter.) |
|
这
然后配置源和目标选项:
|
继承起始父POM
要配置你的项目继承自Spring靴启动父,设父母如下:
<!-- Inherit defaults from Spring Boot -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.3.13</version>
</parent>
| 你只需要在该依赖上指定 Spring Boot 版本号。 如果你导入了额外的起始,可以安全地省略版本号。 |
有了这个设置,你还可以通过覆盖自己项目中的某个属性来覆盖各个依赖关系。
例如,要使用不同版本的SLF4J库和Spring Data发布列,你需要在你的pom.xml:
<properties>
<slf4j.version>1.7.30</slf4j.version>
<spring-data-releasetrain.version>Moore-SR6</spring-data-releasetrain.version>
</properties>
在 Spring Boot 参考中浏览依赖版本属性部分,查看完整的依赖版本属性列表。
使用无父POM的Spring Boot
你可能有理由不继承Spring靴启动父聚 甲醛。
你可能有自己的企业标准父服务器需要使用,或者你可能更愿意明确声明你所有的 Maven 配置。
如果你不想使用Spring靴启动父你仍然可以通过使用进口范围依赖,具体如下:
<dependencyManagement>
<dependencies>
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>3.3.13</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
上述示例设置不允许你通过使用属性覆盖单个依赖关系,如上所述。
要达到相同结果,你需要在依赖管理项目的部分在Spring Boot依赖关系进入。
例如,要使用不同版本的SLF4J库和Spring Data发布列,你可以在你的pom.xml:
<dependencyManagement>
<dependencies>
<!-- Override SLF4J provided by Spring Boot -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.30</version>
</dependency>
<!-- Override Spring Data release train provided by Spring Boot -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-releasetrain</artifactId>
<version>2020.0.0-SR1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>3.3.13</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
命令行覆盖设置
该插件提供多种用户属性,首先是Spring靴,让你可以通过命令行自定义配置。
例如,你可以在运行应用时调整配置文件以启用,具体如下:
$ mvn spring-boot:run -Dspring-boot.run.profiles=dev,local
如果你想同时保留默认设置,同时允许命令行覆盖,应该结合用户提供项目属性和 MOJO 配置。
<project>
<properties>
<app.profiles>local,dev</app.profiles>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<profiles>${app.profiles}</profiles>
</configuration>
</plugin>
</plugins>
</build>
</project>
上述方法确保了当地和开发默认启用。
现在一个专用属性被暴露出来,命令行也可以覆盖:
$ mvn spring-boot:run -Dapp.profiles=test