| This version is still in development and is not considered stable yet. For the latest stable version, please use Spring Boot 3.5.5! | 
PropertiesLauncher Features
PropertiesLauncher has a few special features that can be enabled with external properties (System properties, environment variables, manifest entries, or loader.properties).
The following table describes these properties:
| Key | Purpose | 
|---|---|
| 
 | Comma-separated Classpath, such as  | 
| 
 | Used to resolve relative paths in  | 
| 
 | Default arguments for the main method (space separated). | 
| 
 | Name of main class to launch (for example,  | 
| 
 | Name of properties file (for example,  | 
| 
 | Path to properties file (for example,  | 
| 
 | Boolean flag to indicate that all properties should be added to System properties.
  It defaults to  | 
When specified as environment variables or manifest entries, the following names should be used:
| Key | Manifest entry | Environment variable | 
|---|---|---|
| 
 | 
 | 
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
 | 
| Build plugins automatically move the Main-Classattribute toStart-Classwhen the uber jar is built.
If you use that, specify the name of the class to launch by using theMain-Classattribute and leaving outStart-Class. | 
The following rules apply to working with PropertiesLauncher:
- 
loader.propertiesis searched for inloader.home, then in the root of the classpath, and then inclasspath:/BOOT-INF/classes. The first location where a file with that name exists is used.
- 
loader.homeis the directory location of an additional properties file (overriding the default) only whenloader.config.locationis not specified.
- 
loader.pathcan contain directories (which are scanned recursively for jar and zip files), archive paths, a directory within an archive that is scanned for jar files (for example,dependencies.jar!/lib), or wildcard patterns (for the default JVM behavior). Archive paths can be relative toloader.homeor anywhere in the file system with ajar:file:prefix.
- 
loader.path(if empty) defaults toBOOT-INF/lib(meaning a local directory or a nested one if running from an archive). Because of this,PropertiesLauncherbehaves the same asJarLauncherwhen no additional configuration is provided.
- 
loader.pathcan not be used to configure the location ofloader.properties(the classpath used to search for the latter is the JVM classpath whenPropertiesLauncheris launched).
- 
Placeholder replacement is done from System and environment variables plus the properties file itself on all values before use. 
- 
The search order for properties (where it makes sense to look in more than one place) is environment variables, system properties, loader.properties, the exploded archive manifest, and the archive manifest.