对于最新稳定版本,请使用Spring Boot 4.0.0spring-doc.cadn.net.cn

使用插件

Maven用户可以继承Spring靴启动父项目以获得合理的违约情况。 父项目提供以下功能:spring-doc.cadn.net.cn

自从......application.propertiesapplication.yml文件接受 Spring 风格的占位符(${…​}Maven滤波被更改为@..@占位符。 (你可以通过设置一个名为resource.delimiter.)

Spring靴启动父设置maven.compiler.release(译译员发布)该性质限制了--add-exports,--加读--补丁模如果他们修改系统模块,还有选项。 如果你需要用这些选项,可以取消设置maven.compiler.release(译译员发布):spring-doc.cadn.net.cn

<maven.compiler.release></maven.compiler.release>

然后配置源和目标选项:spring-doc.cadn.net.cn

<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>

继承起始父POM

要配置你的项目继承自Spring靴启动父,设父母如下:spring-doc.cadn.net.cn

<!-- 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:spring-doc.cadn.net.cn

<properties>
	<slf4j.version>1.7.30</slf4j.version>
	<spring-data-releasetrain.version>Moore-SR6</spring-data-releasetrain.version>
</properties>

在 Spring Boot 参考中浏览依赖版本属性部分,查看完整的依赖版本属性列表。spring-doc.cadn.net.cn

使用无父POM的Spring Boot

你可能有理由不继承Spring靴启动父聚 甲醛。 你可能有自己的企业标准父服务器需要使用,或者你可能更愿意明确声明你所有的 Maven 配置。spring-doc.cadn.net.cn

如果你不想使用Spring靴启动父你仍然可以通过使用进口范围依赖,具体如下:spring-doc.cadn.net.cn

<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:spring-doc.cadn.net.cn

<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靴,让你可以通过命令行自定义配置。spring-doc.cadn.net.cn

例如,你可以在运行应用时调整配置文件以启用,具体如下:spring-doc.cadn.net.cn

$ mvn spring-boot:run -Dspring-boot.run.profiles=dev,local

如果你想同时保留默认设置,同时允许命令行覆盖,应该结合用户提供项目属性和 MOJO 配置。spring-doc.cadn.net.cn

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

上述方法确保了当地开发默认启用。 现在一个专用属性被暴露出来,命令行也可以覆盖:spring-doc.cadn.net.cn

$ mvn spring-boot:run -Dapp.profiles=test