使用 Maven 运行应用程序

该插件包含一个运行目标,可用于从命令行启动应用程序,如以下示例所示:spring-doc.cadn.net.cn

$ mvn spring-boot:run

应用程序参数可以使用arguments参数,请参阅使用应用程序参数了解更多详细信息。spring-doc.cadn.net.cn

应用程序在分支进程中执行,在命令行上设置属性不会影响应用程序。 如果您需要指定一些 JVM 参数(即用于调试目的),您可以使用jvmArguments参数,请参阅调试应用程序以了解更多详细信息。 还明确支持系统属性环境变量spring-doc.cadn.net.cn

由于启用配置文件很常见,因此有专用的profiles提供快捷方式的属性-Dspring-boot.run.jvmArguments="-Dspring.profiles.active=dev",请参阅指定活动配置文件spring-doc.cadn.net.cn

弹簧靴devtools是一个模块,用于改善在 Spring Boot 应用程序上工作时的开发时体验。 要启用它,只需将以下依赖项添加到您的项目中:spring-doc.cadn.net.cn

<dependencies>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-devtools</artifactId>
		<optional>true</optional>
	</dependency>
</dependencies>

什么时候devtools正在运行时,它会在您重新编译应用程序时检测更改并自动刷新它。 这不仅适用于资源,也适用于代码。 它还提供了一个 LiveReload 服务器,以便它可以在事情发生变化时自动触发浏览器刷新。spring-doc.cadn.net.cn

Devtools 还可以配置为仅在静态资源发生更改时刷新浏览器(并忽略代码中的任何更改)。 只需在项目中包含以下属性:spring-doc.cadn.net.cn

spring.devtools.remote.restart.enabled=false

之前devtools,该插件默认支持资源的热刷新,该插件现在已被禁用,以支持上述解决方案。 您可以随时通过配置项目来恢复它:spring-doc.cadn.net.cn

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<addResources>true</addResources>
				</configuration>
			</plugin>
		</plugins>
	</build>

什么时候addResources启用,则任何src/main/resources当您运行应用程序时,目录将被添加到应用程序类路径中,并且在类输出中找到的任何重复项都将被删除。 这允许对资源进行热刷新,这在开发 Web 应用程序时非常有用。 例如,您可以处理 HTML、CSS 或 JavaScript 文件并立即查看更改,而无需重新编译应用程序。 这也是一种有用的方法,让您的前端开发人员无需下载和安装 Java IDE 即可工作。spring-doc.cadn.net.cn

使用此功能的副作用是,在构建时过滤资源将不起作用。

为了与repackage目标,则run目标构建类路径的方式是,插件配置中排除的任何依赖项也会从类路径中排除。 有关更多详细信息,请参阅专用示例spring-doc.cadn.net.cn

有时运行应用程序的测试变体很有用。 例如,如果您想在开发时使用 Testcontainers 或使用一些测试存根。 使用test-run目标具有许多与run为此目的。spring-doc.cadn.net.cn

spring-boot:run

org.springframework.boot:spring-boot-maven-plugin:3.5.5spring-doc.cadn.net.cn

就地运行应用程序。spring-doc.cadn.net.cn

必填参数

名称 类型 默认值

classes目录spring-doc.cadn.net.cn

Filespring-doc.cadn.net.cn

${project.build.outputDirectory}spring-doc.cadn.net.cn

参数详情

addResources

将 maven 资源直接添加到类路径,这允许对资源进行实时就地编辑。重复的资源将从target/classes以防止它们出现两次,如果ClassLoader.getResources()被称为。请考虑添加spring-boot-devtools而是因为它提供了此功能以及更多功能。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

addResourcesspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

booleanspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.run.addResourcesspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.0.0spring-doc.cadn.net.cn

additionalClasspathElements

应添加到类路径的其他类路径元素。元素可以是包含类和资源的目录或 jar 文件。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

additionalClasspathElementsspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.String[]spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.run.additional-classpath-elementsspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

3.2.0spring-doc.cadn.net.cn

classesDirectory

包含应用于运行应用程序的类和资源文件的目录。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

classesDirectoryspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.io.Filespring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

${project.build.outputDirectory}spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.0.0spring-doc.cadn.net.cn

commandlineArguments

应传递给应用程序的命令行中的参数。使用空格分隔多个参数,并确保在引号之间括住多个值。指定后,优先于#arguments.spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

commandlineArgumentsspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.Stringspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.run.argumentsspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.2.3spring-doc.cadn.net.cn

environmentVariables

应与用于运行应用程序的分叉进程相关联的环境变量列表。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

environmentVariablesspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.util.Mapspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.1.0spring-doc.cadn.net.cn

excludeGroupIds

要排除的 groupId 名称的逗号分隔列表(完全匹配)。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

excludeGroupIdsspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.Stringspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.excludeGroupIdsspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.1.0spring-doc.cadn.net.cn

excludes

要排除的工件定义的集合。这Exclude元素定义了强制性的groupIdartifactId组件和可选的classifier元件。配置为属性时,值应使用冒号分隔的组件以逗号分隔:groupId:artifactId,groupId:artifactId:classifierspring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

excludesspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.util.Listspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.excludesspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.1.0spring-doc.cadn.net.cn

includes

要包含的工件定义集合。这Include元素定义了强制性的groupIdartifactId组件和可选的classifier元件。配置为属性时,值应使用冒号分隔的组件以逗号分隔:groupId:artifactId,groupId:artifactId:classifierspring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

includesspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.util.Listspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.includesspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.2.0spring-doc.cadn.net.cn

jvmArguments

JVM 参数,这些参数应与用于运行应用程序的分叉进程相关联。在命令行上,确保在引号之间包装多个值。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

jvmArgumentsspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.Stringspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.run.jvmArgumentsspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.1.0spring-doc.cadn.net.cn

mainClass

主类的名称。如果未指定,将使用找到的第一个包含“main”方法的编译类。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

mainClassspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.Stringspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.run.main-classspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.0.0spring-doc.cadn.net.cn

optimizedLaunch

是否应该优化 JVM 的启动。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

optimizedLaunchspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

booleanspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

truespring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.run.optimizedLaunchspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.2.0spring-doc.cadn.net.cn

profiles

要激活的弹簧轮廓。指定 'spring.profiles.active' 参数的便捷快捷方式。在命令行上,使用逗号分隔多个配置文件。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

profilesspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.String[]spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.run.profilesspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.3.0spring-doc.cadn.net.cn

systemPropertyVariables

要传递给进程的 JVM 系统属性列表。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

systemPropertyVariablesspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.util.Mapspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.1.0spring-doc.cadn.net.cn

useTestClasspath

运行时包含测试类路径的标志。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

useTestClasspathspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.Booleanspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.run.useTestClasspathspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.3.0spring-doc.cadn.net.cn

workingDirectory

用于应用程序的当前工作目录。如果未指定,将使用 basedir。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

workingDirectoryspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.io.Filespring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.run.workingDirectoryspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.5.0spring-doc.cadn.net.cn

spring-boot:test-run

org.springframework.boot:spring-boot-maven-plugin:3.5.5spring-doc.cadn.net.cn

使用测试运行时类路径就地运行应用程序。将用于启动应用程序的主类确定如下:配置的主类(如果有)。然后在测试类目录中找到的主类(如果有)。然后在 classes 目录中找到的主类(如果有)。spring-doc.cadn.net.cn

必填参数

名称 类型 默认值

classes目录spring-doc.cadn.net.cn

Filespring-doc.cadn.net.cn

${project.build.outputDirectory}spring-doc.cadn.net.cn

testClasses目录spring-doc.cadn.net.cn

Filespring-doc.cadn.net.cn

${project.build.testOutputDirectory}spring-doc.cadn.net.cn

参数详情

addResources

将 maven 资源直接添加到类路径,这允许对资源进行实时就地编辑。重复的资源将从target/classes以防止它们出现两次,如果ClassLoader.getResources()被称为。请考虑添加spring-boot-devtools而是因为它提供了此功能以及更多功能。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

addResourcesspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

booleanspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.run.addResourcesspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.0.0spring-doc.cadn.net.cn

additionalClasspathElements

应添加到类路径的其他类路径元素。元素可以是包含类和资源的目录或 jar 文件。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

additionalClasspathElementsspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.String[]spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.run.additional-classpath-elementsspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

3.2.0spring-doc.cadn.net.cn

classesDirectory

包含应用于运行应用程序的类和资源文件的目录。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

classesDirectoryspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.io.Filespring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

${project.build.outputDirectory}spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.0.0spring-doc.cadn.net.cn

commandlineArguments

应传递给应用程序的命令行中的参数。使用空格分隔多个参数,并确保在引号之间括住多个值。指定后,优先于#arguments.spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

commandlineArgumentsspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.Stringspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.run.argumentsspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.2.3spring-doc.cadn.net.cn

environmentVariables

应与用于运行应用程序的分叉进程相关联的环境变量列表。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

environmentVariablesspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.util.Mapspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.1.0spring-doc.cadn.net.cn

excludeGroupIds

要排除的 groupId 名称的逗号分隔列表(完全匹配)。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

excludeGroupIdsspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.Stringspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.excludeGroupIdsspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.1.0spring-doc.cadn.net.cn

excludes

要排除的工件定义的集合。这Exclude元素定义了强制性的groupIdartifactId组件和可选的classifier元件。配置为属性时,值应使用冒号分隔的组件以逗号分隔:groupId:artifactId,groupId:artifactId:classifierspring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

excludesspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.util.Listspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.excludesspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.1.0spring-doc.cadn.net.cn

includes

要包含的工件定义集合。这Include元素定义了强制性的groupIdartifactId组件和可选的classifier元件。配置为属性时,值应使用冒号分隔的组件以逗号分隔:groupId:artifactId,groupId:artifactId:classifierspring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

includesspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.util.Listspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.includesspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.2.0spring-doc.cadn.net.cn

jvmArguments

JVM 参数,这些参数应与用于运行应用程序的分叉进程相关联。在命令行上,确保在引号之间包装多个值。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

jvmArgumentsspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.Stringspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.run.jvmArgumentsspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.1.0spring-doc.cadn.net.cn

mainClass

主类的名称。如果未指定,将使用找到的第一个包含“main”方法的编译类。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

mainClassspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.Stringspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.run.main-classspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.0.0spring-doc.cadn.net.cn

optimizedLaunch

是否应该优化 JVM 的启动。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

optimizedLaunchspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

booleanspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

truespring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.test-run.optimizedLaunchspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

profiles

要激活的弹簧轮廓。指定 'spring.profiles.active' 参数的便捷快捷方式。在命令行上,使用逗号分隔多个配置文件。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

profilesspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.String[]spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.run.profilesspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.3.0spring-doc.cadn.net.cn

systemPropertyVariables

要传递给进程的 JVM 系统属性列表。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

systemPropertyVariablesspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.util.Mapspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.1.0spring-doc.cadn.net.cn

testClassesDirectory

包含应用于运行应用程序的测试类和资源文件的目录。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

testClassesDirectoryspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.io.Filespring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

${project.build.testOutputDirectory}spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

workingDirectory

用于应用程序的当前工作目录。如果未指定,将使用 basedir。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

workingDirectoryspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.io.Filespring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.run.workingDirectoryspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.5.0spring-doc.cadn.net.cn

例子

调试应用程序

runtest-run目标在分叉进程中运行您的应用程序。 如果需要调试它,则应添加必要的 JVM 参数以启用远程调试。 以下配置将暂停进程,直到调试器加入端口 5005:spring-doc.cadn.net.cn

<project>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<jvmArguments>
						-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005
					</jvmArguments>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

这些参数也可以在命令行上指定:spring-doc.cadn.net.cn

$ mvn spring-boot:run -Dspring-boot.run.jvmArguments=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005

使用系统属性

系统属性可以使用systemPropertyVariables属性。 以下示例集property1testproperty2至 42:spring-doc.cadn.net.cn

<project>
	<build>
		<properties>
			<my.value>42</my.value>
		</properties>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<systemPropertyVariables>
						<property1>test</property1>
						<property2>${my.value}</property2>
					</systemPropertyVariables>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

如果值为空或未定义(即<my-property/>),系统属性设置为空 String 作为值。 Maven 修剪 pom 中指定的值,因此无法通过此机制指定需要以空格开头或结尾的 System 属性:考虑使用jvmArguments相反。spring-doc.cadn.net.cn

任何字符串类型的 Maven 变量都可以作为系统属性传递。 任何尝试传递任何其他 Maven 变量类型(例如ListURLvariable)将导致变量表达式按字面意思传递(未计算)。spring-doc.cadn.net.cn

jvmArguments参数优先于使用上述机制定义的系统属性。 在以下示例中,的值property1overridden:spring-doc.cadn.net.cn

$ mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Dproperty1=overridden"

使用环境变量

可以使用environmentVariables属性。 以下示例设置 'ENV1'、'ENV2'、'ENV3'、'ENV4' 环境变量:spring-doc.cadn.net.cn

<project>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<environmentVariables>
						<ENV1>5000</ENV1>
						<ENV2>Some Text</ENV2>
						<ENV3/>
						<ENV4></ENV4>
					</environmentVariables>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

如果值为空或未定义(即<MY_ENV/>),则使用空 String 作为值设置 env 变量。 Maven 修剪 pom 中指定的值,因此无法指定需要以空格开头或结尾的 env 变量。spring-doc.cadn.net.cn

任何字符串类型的 Maven 变量都可以作为系统属性传递。 任何尝试传递任何其他 Maven 变量类型(例如ListURLvariable)将导致变量表达式按字面意思传递(未计算)。spring-doc.cadn.net.cn

以这种方式定义的环境变量优先于现有值。spring-doc.cadn.net.cn

使用应用程序参数

应用程序参数可以使用arguments属性。 以下示例设置两个参数:property1property2=42:spring-doc.cadn.net.cn

<project>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<arguments>
						<argument>property1</argument>
						<argument>property2=${my.value}</argument>
					</arguments>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

在命令行上,参数以相同的方式用空格分隔jvmArguments是。 如果参数包含空格,请确保将其引号。 在以下示例中,有两个参数可用:property1property2=Hello World:spring-doc.cadn.net.cn

$ mvn spring-boot:run -Dspring-boot.run.arguments="property1 'property2=Hello World'"

指定活动配置文件

可以使用profiles论点。spring-doc.cadn.net.cn

以下配置启用了localdev配置 文件:spring-doc.cadn.net.cn

<project>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<profiles>
						<profile>local</profile>
						<profile>dev</profile>
					</profiles>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

也可以在命令行上指定要启用的配置文件,请确保用逗号分隔它们,如以下示例所示:spring-doc.cadn.net.cn

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