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