PropertiesLauncher 功能
PropertiesLauncher
有一些特殊功能,可以通过外部属性(系统属性、环境变量、Manifest 条目或 loader.properties
)启用。下表描述了这些属性
键 | 用途 |
---|---|
|
逗号分隔的类路径,例如 |
|
用于解析 |
|
主方法的默认参数(空格分隔)。 |
|
要启动的主类的名称(例如, |
|
属性文件的名称(例如, |
|
属性文件的路径(例如, |
|
布尔标志,指示是否应将所有属性添加到系统属性中。它默认为 |
当指定为环境变量或 Manifest 条目时,应使用以下名称
键 | Manifest 条目 | 环境变量 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
构建插件在构建 uber jar 时会自动将 Main-Class 属性移动到 Start-Class 。如果使用该方式,请通过使用 Main-Class 属性指定要启动的类的名称,而省略 Start-Class 。 |
以下规则适用于使用 PropertiesLauncher
-
loader.properties
会在loader.home
中搜索,然后在类路径的根目录中搜索,最后在classpath:/BOOT-INF/classes
中搜索。使用第一个存在该名称文件的位置。 -
仅当未指定
loader.config.location
时,loader.home
才是额外属性文件(覆盖默认值)的目录位置。 -
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。