PropertiesLauncher 功能
PropertiesLauncher 具备若干特殊功能,可通过外部属性(系统属性、环境变量、清单文件条目或 loader.properties)启用。
下表描述了这些属性:
| 键 | 目的 |
|---|---|
|
以逗号分隔的类路径,例如 |
|
用于解析 |
|
主方法的默认参数(以空格分隔)。 |
|
要启动的主类名称(例如, |
|
属性文件的名称(例如, |
|
属性文件的路径(例如, |
|
一个布尔标志,用于指示是否将所有属性添加到系统属性中。
其默认值为 |
当作为环境变量或清单条目指定时,应使用以下名称:
| 键 | 清单条目 | 环境变量 |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
构建插件在生成胖 JAR(uber jar)时会自动将 Main-Class 属性移至 Start-Class。
若使用该功能,请通过 Main-Class 属性指定要启动的类名,并省略 Start-Class。 |
以下规则适用于使用 PropertiesLauncher:
-
在
loader.home中搜索loader.properties,然后在类路径(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)。