做一个能知道你的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(
nullnew Object[] { args });
}