附录D.4. PropertiesLauncher特性

PropertiesLauncher有一些特殊的性质,它们可以通过外部属性来启用(系统属性,环境变量,manifest实体或application.properties)。

Key 作用
loader.path 逗号分割的classpath,比如lib:${HOME}/app/lib
loader.home 其他属性文件的位置,比如/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行为)。
  • 占位符在使用前会被系统和环境变量加上属性文件本身的值替换掉。