Java 有否 在不预配置类路径类名的情况下,运行态动态装载类及其依赖类的方法?

查看 26|回复 0
作者:matepi   
需求:运行态、不重启,动态装载本地 /远程类。
SPI 带类路径类名配置的比较容易做到。OSGi 是不是也类似的搞法?
但如果要求不配置的情况下,此时如果只是装载单个无依赖类(严格说是依赖均已存在的类),也比较容易做到。如果要进一步装载这个无依赖子类的父类啥的,想办法搞搞也能做到。
但难的就是,如何把这个类的所有依赖也装载进来。
想来想去,想到两个办法:
1 、要么就是装载类里面自己先搞个成员,自声明需要依赖的类(但这个就要保证对所有的依赖、依赖的依赖……都要声明出来、挺难保证的);
2 、还有一种就是给个保证 100%覆盖率的对应 Tester 方法或者类内方法,预先加载 Tester 方法,循环处理掉每个 ClassNotFound 异常,做对应依赖的装载(但这个要保证 100%覆盖率、甚至是依赖类的覆盖率也要做到,也是挺容易出问题的)
您需要登录后才可以回帖 登录 | 立即注册

返回顶部