java - ClassLoader 是否应该能够从不同的包中解析和加载类?

标签 java groovy package jenkins classloader

使用 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/

相关文章:

java - 如何在 Java 中打印颜色的字符串表示

java - 使用 Groovy(或 Java)如何将 org.joda.time.LocalDateTime 转换为 java.util.date?

java - 找不到导入 BlobDomain 包

R S3 方法未从命名空间导出

java - addParentStack 中的 NameNotFoundException

java - 从多个不同类型的用户输入创建一个数组

java - 试图找出如何编写一个程序来识别相同的数字

java - Eclipse 类文件元数据

php - OrientDB PHP/Gremlin 桥

shell - Jenkins 文件 : permission denied when running sh step in Docker container