PropertiesLauncher 功能
PropertiesLauncher 有一些特殊功能,可以通过外部属性(系统属性、环境变量、清单条目或 loader.properties)启用。下表描述了这些属性
| 键 | 目的 |
|---|---|
|
逗号分隔的 Classpath,例如 |
|
用于解析 |
|
主方法的默认参数(以空格分隔)。 |
|
要启动的主类的名称(例如, |
|
属性文件的名称(例如, |
|
属性文件的路径(例如, |
|
布尔标志,指示所有属性都应添加到系统属性中。它默认为 |
当指定为环境变量或清单条目时,应使用以下名称
| 键 | 清单条目 | 环境变量 |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
构建插件在构建 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启动时,用于搜索后者的 classpath 是 JVM classpath)。 -
在使用所有值之前,会从系统和环境变量以及属性文件本身进行占位符替换。
-
属性的搜索顺序(在多个地方查找有意义时)是环境变量、系统属性、
loader.properties、解压后的存档清单和存档清单。