[英]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有同样的问题并以这种方式修复它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.