我正在开发一个Jenkins插件,但是我有一些问题,我认为这可能是因为插件的类路径中缺少一个jar,即使它在plugin的WEB/lib目录中。
通常,我会使用Java中的以下代码来打印类路径,但这似乎不适用于Jenkins。
ClassLoader cl = getClass().getClassLoader();
URL[] urls = ((URLClassLoader)cl).getURLs();
for(URL url: urls){
System.out.println(url.getFile());
}当我执行插件时,上面的代码会导致一个ClassCastException异常与消息hudson.ClassicPluginStrategy$AntClassLoader2 cannot be cast to java.net.URLClassLoader一起抛出。
打印Jenkins插件使用的类路径的最佳方法是什么?
发布于 2015-06-14 17:54:16
在阅读了AntClassLoader的Javadoc之后,解决方案似乎比我预期的要容易得多,所以我编写了下面的代码,可以用于打印Jenkins插件的类路径。
AntClassLoader cl = (AntClassLoader) getClass().getClassLoader();
String[] classpath = cl.getClasspath().split(":");
for (String classpathElement : classpath) {
System.out.println(classpathElement);
}https://stackoverflow.com/questions/30828861
复制相似问题