Apache Sling Feature Launcher

Clone this repo:
  1. 03c069b SLING-11408 m-assembly-p must use dependencies generated from appassembler - remove unused OSGi configurator by Carsten Ziegeler · 6 days ago master
  2. b55ca9c Use runtime scope for slf4j impl to keep compile classpath leaner by Konrad Windszus · 6 days ago
  3. 9ee7aea Merge pull request #42 from apache/bugfix/m-assembly-plugin-use-libs-from-appassembler by Carsten Ziegeler · 6 days ago
  4. 227d339 Include slf4j-impl and use wildcard classpath by Carsten Ziegeler · 6 days ago
  5. 041fb62 SLING-11408 m-assembly-p must use dependencies generated from appassembler by Konrad Windszus · 6 days ago

Apache Sling

Build Status Test Status Coverage Sonarcloud Status JavaDoc Maven Central feature License

Feature Model Launcher

The Feature Model Launcher can launch an feature model application file to a running process.

The launcher can be executed as follows:

java org.apache.sling.feature.launcher.impl.Main

or via the Java Main class of the jar file:

java -jar org.apache.sling.feature.launcher.jar

The following command line options are supported:

java -jar org.apache.sling.feature.launcher.jar -h
usage: launcher
 -C <arg>    Set artifact clash override
 -CC <arg>   Set config clash override
 -c <arg>    Set cache dir
 -D <arg>    Set framework properties
 -f <arg>    Set feature files (relative and absolute file path or URL including classloader resources)
 -i <arg>    Set the id for the launch feature
 -p <arg>    Set home dir
 -u <arg>    Set repository url
 -V <arg>    Set variable value
 -ec <arg>   Set Extension Configuration (format: extensionName:key1=val1,key2=val2)
 -fv <arg>   Set Felix Framework version
 -fa <arg>   Set Framework Artifact (overrides felix framework version)
 -v          Verbose


The launcher creates a local cache, by default in a subdirectory called launcher. If you want to run the launcher with a clean start, delete this directory before invoking the launcher.

rm -rf launcher && java -jar org.apache.sling.feature.launcher.jar -h

Feature Files as Classloader Resources

Note: if feature files are provided as a Classloader Resource like in an executable JAR file or classpath resource then it's Resource URL can be handed over to the Launcher as feature file (-f option):

java.net.URL url = getClass().getResource("/my-feature-file.json");
String[] arguments = new String[] {
    "-f", url.toString()


For further documentation see: https://github.com/apache/sling-org-apache-sling-feature/blob/master/readme.md