jenkins插件的类路径

时间:2013-03-10 20:48:30

标签: java jenkins

我安装了openid插件的jenkins。 我尝试通过openid进行身份验证,但收到一个抱怨java.lang.NoClassDefFoundError: org/openid4java/util/OpenID4JavaDOMParser

的网页

缺少的类包含在位于“plugins / openid / WEB-INF / lib /".

的jar中

为什么Jenkins无法加载该类?

任何想法如何调试? (除了NoClassDefFoundError之外,日志文件没有提供更多信息。)

更新: 将jar符号化为“war / WEB-INF / lib”后,jenkins可以访问该类。似乎简单地忽略了插件中的jar,但根据Documentation,它们应该是可访问的。

1 个答案:

答案 0 :(得分:0)

这取决于类加载器尝试加载类,如果它被某些库或发现初始化,它可能使用Thread类加载器而不是插件类加载器,通常是ClassicPluginStrategy$AntClassLoader2

您可以选择传递类加载器或直接创建实例。我和jax-rs有同样的问题并以这种方式修复它。

https://github.com/carlossg/KubernetesAPIJavaClient/blob/c6082e3/src/main/java/com/github/kubernetes/java/client/v2/RestFactory.java#L66