Package org.springframework.boot.loader
Class PropertiesLauncher
java.lang.Object
org.springframework.boot.loader.Launcher
org.springframework.boot.loader.PropertiesLauncher
Launcher for archives with user-configured classpath and main class via a
 properties file. This model is often more flexible and more amenable to creating
 well-behaved OS-level services than a model based on executable jars.
 
 Looks in various places for a properties file to extract loader settings, defaulting to
 loader.properties either on the current classpath or in the current working
 directory. The name of the properties file can be changed by setting a System property
 loader.config.name (e.g. -Dloader.config.name=foo will look for
 foo.properties. If that file doesn't exist then tries
 loader.config.location (with allowed prefixes classpath: and
 file: or any valid URL). Once that file is located turns it into Properties and
 extracts optional values (which can also be provided overridden as System properties in
 case the file doesn't exist):
 
- loader.path: a comma-separated list of directories (containing file resources and/or nested archives in *.jar or *.zip or archives) or archives to append to the classpath.- BOOT-INF/classes,BOOT-INF/libin the application archive are always used
- loader.main: the main method to delegate execution to once the class loader is set up. No default, but will fall back to looking for a- Start-Classin a- MANIFEST.MF, if there is one in- ${loader.home}/META-INF.
- Since:
- 1.0.0
- Author:
- Dave Syer, Janne Valkealahti, Andy Wilkinson
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final StringProperties key for default command line arguments.static final StringProperties key for config file location (including optional classpath:, file: or URL prefix).static final StringProperties key for name of external configuration file (excluding suffix).static final StringProperties key for home directory.static final StringProperties key for main class.static final StringProperties key for classpath entries (directories possibly containing jars or jars).static final StringProperties key for boolean flag (default false) which if set will cause the external configuration properties to be copied to System properties (assuming that is allowed by Java security).
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected ClassLoadercreateClassLoader(Iterator<Archive> archives) Create a classloader for the specified archives.protected String[]Returns the archives that will be used to construct the class path.protected Fileprotected StringReturns the main class that should be launched.static voidstatic StringtoCamelCase(CharSequence string) Methods inherited from class org.springframework.boot.loader.LaunchercreateArchive, createClassLoader, createMainMethodRunner, getArchive, isExploded, launch, launch
- 
Field Details- 
MAINProperties key for main class. As a manifest entry can also be specified asStart-Class.- See Also:
 
- 
PATHProperties key for classpath entries (directories possibly containing jars or jars). Multiple entries can be specified using a comma-separated list.BOOT-INF/classes,BOOT-INF/libin the application archive are always used.- See Also:
 
- 
HOMEProperties key for home directory. This is the location of external configuration if not on classpath, and also the base path for any relative paths in theloader path. Defaults to current working directory (${user.dir}).- See Also:
 
- 
ARGSProperties key for default command line arguments. These arguments (if present) are prepended to the main method arguments before launching.- See Also:
 
- 
CONFIG_NAMEProperties key for name of external configuration file (excluding suffix). Defaults to "application". Ignored ifloader config locationis provided instead.- See Also:
 
- 
CONFIG_LOCATIONProperties key for config file location (including optional classpath:, file: or URL prefix).- See Also:
 
- 
SET_SYSTEM_PROPERTIESProperties key for boolean flag (default false) which if set will cause the external configuration properties to be copied to System properties (assuming that is allowed by Java security).- See Also:
 
 
- 
- 
Constructor Details- 
PropertiesLauncherpublic PropertiesLauncher()
 
- 
- 
Method Details- 
getHomeDirectory
- 
getArgs- Throws:
- Exception
 
- 
getMainClassDescription copied from class:LauncherReturns the main class that should be launched.- Specified by:
- getMainClassin class- Launcher
- Returns:
- the name of the main class
- Throws:
- Exception- if the main class cannot be obtained
 
- 
createClassLoaderDescription copied from class:LauncherCreate a classloader for the specified archives.- Overrides:
- createClassLoaderin class- Launcher
- Parameters:
- archives- the archives
- Returns:
- the classloader
- Throws:
- Exception- if the classloader cannot be created
 
- 
getClassPathArchivesIteratorDescription copied from class:LauncherReturns the archives that will be used to construct the class path.- Specified by:
- getClassPathArchivesIteratorin class- Launcher
- Returns:
- the class path archives
- Throws:
- Exception- if the class path archives cannot be obtained
 
- 
main- Throws:
- Exception
 
- 
toCamelCase
 
-