|
对于最新稳定版本,请使用 Spring Boot 4.0.4! |
PropertiesLauncher 功能
PropertiesLauncher 具有一些特殊功能,可以通过外部属性(系统属性、环境变量、清单条目或 loader.properties)启用。
下表描述了这些属性:
| 键 | 目的 |
|---|---|
|
以逗号分隔的类路径(Classpath),例如 |
|
用于解析 |
|
主方法的默认参数(以空格分隔)。 |
|
要启动的主类名称(例如, |
|
属性文件的名称(例如, |
|
属性文件的路径(例如, |
|
一个布尔标志,用于指示是否应将所有属性添加到系统属性(System properties)中。
默认值为 |
当指定为环境变量或清单条目时,应使用以下名称:
| 键 | 清单条目 | 环境变量 |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
构建插件在生成 uber jar 时会自动将 Main-Class 属性移动为 Start-Class。
如果你使用该功能,请通过 Main-Class 属性指定要启动的类名,并省略 Start-Class。 |
以下规则适用于使用 PropertiesLauncher:
-
loader.properties会依次在loader.home、类路径(classpath)的根目录,以及classpath:/BOOT-INF/classes中进行查找。 使用第一个找到该名称文件的位置。 -
loader.home是一个额外属性文件的目录位置(用于覆盖默认值),但仅在未指定loader.config.location时生效。 -
loader.path可以包含目录(会递归扫描其中的 jar 和 zip 文件)、归档文件路径、归档文件中的某个目录(用于扫描其中的 jar 文件,例如dependencies.jar!/lib),或者通配符模式(采用 JVM 的默认行为)。 归档文件路径可以相对于loader.home,也可以是文件系统中的任意位置,但需带有jar:file:前缀。 -
loader.path(如果为空)默认为BOOT-INF/lib(表示本地目录,如果是从归档文件运行则为嵌套目录)。 因此,在未提供额外配置的情况下,PropertiesLauncher的行为与JarLauncher相同。 -
loader.path不能用于配置loader.properties的位置(当PropertiesLauncher启动时,用于搜索后者的类路径是 JVM 类路径)。 -
在使用之前,占位符替换会从系统变量、环境变量以及属性文件本身对所有值进行处理。
-
属性的搜索顺序(在多个位置查找有意义的情况下)依次为:环境变量、系统属性、
loader.properties、解压后的归档文件清单(manifest)以及归档文件清单(manifest)。