jar包如何动态加载进去? 
我一个程序正在运行中,运行状态时要动态加载类进去,我加载类的方法用 
Service service = (Service) Class.forName(info.getServicePath()).newInstance(); 
来实现 
info.getServicePath()可以得到一个类的位置,比如"com.marssoft.services.TXService" 
Service 是一个父类,继承他的类在以后的工作中会陆续写进去,然后以jar包的方式放到运行目录下 
现在的问题是,当平台一起来的时候如果jar存在,类就能写进去,但是一旦起来后再放入新的jar包就不认了,怎么办? 
我想在平台运行期间不断的加jar包进去,然后通过配置文件的改变来动态加载类 
高手们有什么办法实现?

解决方案 »

  1.   

    // 要加载jar包的路径 
    URL[] urls = { new URL(jar的url) }; 
    ClassLoader loader = new URLClassLoader(urls); 
    // 实例化一个对象 
    loader.loadClass(classpath).newInstance();
      

  2.   

    这种方法我还不太会用,在我jar包里有一个类还可以,如果好几个类就出现找不到类的错误
    能不能具体解释一下这段代码怎么用?