繁体   English   中英

jenkins插件的类路径

[英]Classpath for jenkins plugins

我有一个安装了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只是被忽略,但根据文档,它们应该是可访问的。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM