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