使用 documentation for ClassLoader 中给出的示例我能够加载与 ${it}
位于同一包中的类:
ClassLoader cl = it.class.getClassLoader()
def builder = cl.loadClass("hudson.plugins.emailext.plugins.ContentBuilder", true).newInstance()
但是当我尝试像这样从不同的包加载时:
def logParserParser = cl.loadClass("hudson.plugins.logparser.LogParserParser", true).newInstance()
我得到错误:
异常:javax.script.ScriptException:java.lang.ClassNotFoundException:hudson.plugins.logparser.LogParserParser
。
如何从不同的包中加载类?
更新:
我能够解决我的具体问题。如果类(class)能够解决,那就更好了。请参阅我对另一个问题的回答 here .
最佳答案
这取决于 ClassLoader 的设置方式。当您想要的类使用了不可用的类时,通常会发生这些类型的错误。即类(class)本身是可用的。确切的错误消息是什么?
关于java - ClassLoader 是否应该能够从不同的包中解析和加载类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8729563/