public static void main(String[] args) { if (args.length == 0) { System.out.println("Usage: " + KaryonRunner.class.getCanonicalName() + " <main classs name>"); System.exit(-1); } String mainClassName = args[0]; System.out.println("Using main class: " + mainClassName); try { Karyon.forApplication(Class.forName(mainClassName), (LifecycleInjectorBuilderSuite[]) null) .startAndWaitTillShutdown(); } catch (@SuppressWarnings("UnusedCatchParameter") ClassNotFoundException e) { System.out.println("Main class: " + mainClassName + " not found."); System.exit(-1); } catch (Exception e) { logger.error("Error while starting karyon server.", e); System.exit(-1); } // In case we have non-daemon threads running System.exit(0); } }