站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题关于动态加载类库-自己的ClassLoader

关于动态加载类库-自己的ClassLoader

摘要: 关于动态加载类库-自己的ClassLoader


现在在做一个软件框架,用来装载业务组件,组件以内部窗口的方式在主框架软件中显示(MDI),其组件是可定制的,根据配置由框架启动的时候自动加载.

我的设计思路是像Eclipse装插件一样,业务组件只要放到主框架目录下就可以自动被搜索到并被加载,组件是包装好的jar,由一个XML来对该组件进行描述,框架可以根据这个XML得到该组件的类名和其它信息,从而可以通过反射生成组件的实例.

现在就是不明白怎么让软件运行时自动搜索其文件夹下的jar包并加载该类库,实例化对象的时候总是ClassNotFound.试过N多办法,运行的时候java -classpath ... -jar myframework.jar也没效果...

现在求人给个办法,或给我换个思路,谢谢...



一个最简单,不需要什么技术的方法就是写一个小Loader类,该类遍历自己某个目录(例如plugin)下的所有jar文件,生成一个调用自己主类的字符串,如:
String cmd = "javaw -classpath ./plugins/a.jar;./plugins/b.jar mainclassname";
然后使用Runtime来调用 Runtime.getRuntime().exec("cmd /c "+cmd);

如果想研究一下就考虑写一个自己的ClassLoader


ClassLoader明天试试

但无论是
set classpath=xxxx

java -jar xxx.jar

还是
java -classpath xxxx -jar xxx.jar

都没用,都怀疑我电脑是不是有问题了



↑返回目录
前一篇: 通过判断TransactionType中的事务类型,依照时间顺序来执行UPDATE,INSERT或DELETE
后一篇: java运行問題-Exception in thread "main" java.lang.NoClassDefoundError: e:/wspHelloDate