我正在使用apache felix osgi。当我使用classLoader.loadClass(..)加载类时,它给出了ClassNotFoundException
但是当我使用Class.forName()加载类时,它工作正常。

使用classLoader.loadClass()会产生什么区别?为什么我们只需要使用Class.forName()或如何正确使用classLoader.loadClass()

最佳答案

另外提示:由于您已获得异常,因此可能通过调用classLoader获得了称为Thread.currentThread().getContextClassLoader()的类加载器。在OSGi环境中,它可能是最差的类加载器,因为它绝对是未定义的。加载可能一次失败,另一次成功,从而导致难以发现的问题。

关于java - osgi框架中的class.forName()和classLoader.loadClass()有什么区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20238536/

10-14 19:41