原来以为只要System.setProperty("java.class.path", System.getProperty("java.class.path")+";"+file1.toURI().toURL());就行了,结果没用。原来JVM在启动的时候就读取了这个值,修改这个值不再起作用。

正确方法:

 
  
  1. File file1 = new File("d:/lib/spider/taobao-sdk-java-online_standard-20120125.jar"); 
  2.  
  3.             URLClassLoader classloader = (URLClassLoader) ClassLoader.getSystemClassLoader(); 
  4.             Method add = URLClassLoader.class.getDeclaredMethod("addURL"new Class[] { URL.class }); 
  5.             add.setAccessible(true); 
  6.             add.invoke(classloader, new Object[] { file1.toURI().toURL() });