2015-06-14 3 views
0

Я разрабатываю плагин Jenkins, но у меня есть несколько проблем, которые, по моему мнению, могут быть из-за отсутствия в плагине класса плагинов, даже если он находится в каталоге WEB-INF/lib плагина.Как распечатать текущий путь для плагина Jenkins?

Обычно я использую следующий код в Java для печати пути к классам, но это не похоже на работу с Дженкинсом.

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

Каков наилучший способ печати, использованных классам плагином Дженкинс?

ответ

1

Прочитав Javadoc для AntClassLoader, кажется, что решение было намного проще, чем я ожидал, поэтому я написал следующий код, который можно использовать для печати пути к классам для плагина Jenkins.

AntClassLoader cl = (AntClassLoader) getClass().getClassLoader(); 
String[] classpath = cl.getClasspath().split(":"); 
for (String classpathElement : classpath) { 
    System.out.println(classpathElement); 
} 
Смежные вопросы