请教一个关于ClassLoader的问题

04-01-03 天啦
我在一个sb中调用一个java class的方法,

该方法中利用getClass().getClassLoader().loadClass(className)来动态装载类(程序大致如此),结果抛出异常说classloaders not found,我打出classloader和他的parent,都有显示,一个是jboss的,另一个是sun的。

同样的一段代码我在另外一个类中就是正常的,动态装载的类的位置是一样的,只不过调用的类不一样,一个是servlet,另一个是SB.

我初步认为是因为两者的classloader不一样造成的(实际打印出来确实不一样),但是该如何解决呢?或者我可以怎么样来指定classloader呢?

我试过new 一个urlclassloader,直接指定路径,这次是找不到class,是不是我指定的路径有问题?

我指定的是file:///c:\\jboss\......\test.ear\webapps.war\web-inf\classes

恳请各位高手多多指教,万分感谢!!

banq
2004-01-04 14:37
是两个ClassLoader不一样,这个问题是J2EE部署中最复杂的一个问题,可以参考“开源赏析”栏目中的JBoss下部署。

不同容器,ClassLoader原理不一样,具体需要参考容器产品手册。、

猜你喜欢