22 lines
1.5 KiB
Markdown
22 lines
1.5 KiB
Markdown
### 附录D.4. PropertiesLauncher特性
|
||
|
||
PropertiesLauncher有一些特殊的性质,它们可以通过外部属性来启用(系统属性,环境变量,manifest实体或application.properties)。
|
||
|
||
|Key|作用|
|
||
|----|:-----|
|
||
|loader.path|逗号分割的classpath,比如`lib:${HOME}/app/lib`|
|
||
|loader.home|其他属性文件的位置,比如[/opt/app](file:///opt/app)(默认为`${user.dir}`)|
|
||
|loader.args|main方法的默认参数(以空格分割)|
|
||
|loader.main|要启动的main类名称,比如`com.app.Application`|
|
||
|loader.config.name|属性文件名,比如loader(默认为application)|
|
||
|loader.config.location|属性文件路径,比如`classpath:loader.properties`(默认为application.properties)|
|
||
|loader.system|布尔标识,表明所有的属性都应该添加到系统属性中(默认为false)|
|
||
|
||
Manifest实体keys通过大写单词首字母及将分隔符从"."改为"-"(比如`Loader-Path`)来进行格式化。`loader.main`是个特例,它是通过查找manifest的`Start-Class`,这样也兼容JarLauncher。
|
||
|
||
环境变量可以大写字母并且用下划线代替句号。
|
||
|
||
* `loader.home`是其他属性文件(覆盖默认)的目录位置,只要没有指定`loader.config.location`。
|
||
* `loader.path`可以包含目录(递归地扫描jar和zip文件),存档路径或通配符模式(针对默认的JVM行为)。
|
||
* 占位符在使用前会被系统和环境变量加上属性文件本身的值替换掉。
|