in src/main/java/org/apache/sling/maven/slingstart/launcher/Main.java [74:95]
public void run() throws Exception {
if (verbose) {
System.out.println(DELIM);
System.out.println("Slingstart application: " + this.appJar);
System.out.println("Main class: " + MAIN_CLASS_DEF);
System.out.println("Listener Port: " + String.valueOf(this.listenerPort));
System.out.println("Arguments: " + Arrays.toString(this.startupArgs));
System.out.println(DELIM);
}
final ClassLoader cl = new URLClassLoader(new URL[] {this.appJar.toURI().toURL()});
Thread.currentThread().setContextClassLoader(cl);
// create and register mbean
final MBeanServer jmxServer = ManagementFactory.getPlatformMBeanServer();
jmxServer.registerMBean(new Launcher(this.listenerPort),
new ObjectName("org.apache.sling.launchpad:type=Launcher"));
final Class<?> mainClass = cl.loadClass(MAIN_CLASS_DEF);
final Method mainMethod = mainClass.getDeclaredMethod("main", String[].class);
mainMethod.invoke(null, (Object)this.startupArgs);
}