home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2005 July / PCpro_2005_07.ISO / files / wintools / FullSync / FullSyncInstaller.exe / Launcher.class (.txt) < prev    next >
Encoding:
Java Class File  |  2005-03-08  |  2.8 KB  |  50 lines

  1. import java.io.File;
  2. import java.lang.reflect.Method;
  3. import java.net.URL;
  4. import java.net.URLClassLoader;
  5. import java.util.jar.JarFile;
  6. import java.util.jar.Manifest;
  7. import javax.swing.UIManager;
  8.  
  9. public class Launcher {
  10.    // $FF: synthetic field
  11.    static Class class$Launcher;
  12.    // $FF: synthetic field
  13.    static Class array$Ljava$lang$String;
  14.  
  15.    public static void main(String[] args) throws Exception {
  16.       System.setProperty("sun.java2d.ddscale", "true");
  17.       UIManager.setLookAndFeel("com.birosoft.liquid.LiquidLookAndFeel");
  18.       UIManager.addPropertyChangeListener(new Launcher$1());
  19.       Class mainClass = null;
  20.       if (args[0].toLowerCase().endsWith(".jar")) {
  21.          File file = new File(args[0]);
  22.          JarFile jarFile = new JarFile(file);
  23.          Manifest manifest = jarFile.getManifest();
  24.          String mainClassName = manifest.getMainAttributes().getValue("Main-Class");
  25.          URLClassLoader loader = new URLClassLoader(new URL[]{file.toURL()}, (class$Launcher == null ? (class$Launcher = class$("Launcher")) : class$Launcher).getClassLoader());
  26.          mainClass = Class.forName(mainClassName, true, loader);
  27.       } else {
  28.          mainClass = Class.forName(args[0]);
  29.       }
  30.  
  31.       Method m = mainClass.getMethod("main", array$Ljava$lang$String == null ? (array$Ljava$lang$String = class$("[Ljava.lang.String;")) : array$Ljava$lang$String);
  32.       String[] copyOfArgs = new String[args.length - 1];
  33.  
  34.       for(int i = 1; i < args.length; ++i) {
  35.          copyOfArgs[i - 1] = args[i];
  36.       }
  37.  
  38.       m.invoke(mainClass, copyOfArgs);
  39.    }
  40.  
  41.    // $FF: synthetic method
  42.    static Class class$(String x0) {
  43.       try {
  44.          return Class.forName(x0);
  45.       } catch (ClassNotFoundException x1) {
  46.          throw new NoClassDefFoundError(x1.getMessage());
  47.       }
  48.    }
  49. }
  50.