做一个能知道你的SWT libraries的ClassLoader
class SWTClassLoader extends URLClassLoader {
 
    private final File workDir;
    private final Set loadedLibs = new HashSet();
 
    public SWTClassLoader(URL[] urls, File workDir) {
        super(urls);
        this.workDir = workDir;
    }
 
    protected String findLibrary(String libname) {
        String filename = System.mapLibraryName(libname);
        URL url = getResource(filename);
        if (url == null)
            return null;
 
        File file = new File(workDir, filename);
        if (!loadedLibs.contains(file))
            try {
                InputStream in = url.openStream();
                FileOutputStream out = new FileOutputStream(file);
                byte[] buf = new byte[4096];
                int c;
                while ((c = in.read(buf)) != -1)
                    out.write(buf, 0, c);
 
                out.close();
                loadedLibs.add(file);
                in.close();
            } catch (IOException e) {
                return null;
            } finally {
                file.deleteOnExit();
            }
 
        return file.getAbsolutePath();
    }
}
再来个起动程序的main方法 
public static void main(String[] args) throws Exception {
    URL[] urls = <URLs to your application and SWT JARs>;
    File workDir = <working directory of your choice>;
    ClassLoader cl = new SWTClassLoader(urls, workDir);
    Class mainClass = cl.loadClass(<name of your original main class>);
    Method main = mainClass.getMethod("main", new Class[] { String[].class });
    main.invoke(null, new Object[] { args });
}