2015-10-07 2 views
2

Я работаю над плагином Jenkins и включаю банку в качестве зависимости, но этот банку уже включен в каталог WEB-INF/lib основного веб-приложения Jenkins. Это было бы хорошо, за исключением того, что моему плагину нужна версия X, а Jenkins включает версию Y, и api изменился между ними, поэтому я не могу использовать старый, и Дженкинс не может использовать более новую.Может ли плагин jenkins использовать другую версию баночки, чем основной jenkins webapp?

Версия, которую я хочу, включена в мой файл .hpi, но во время выполнения запускается версия из jenkins/WEB-INF/lib. Я предполагаю, что из-за классных загрузчиков я не могу заставить его забрать версию в моем файле .hpi, но хотел проверить и посмотреть, знает ли кто-нибудь об этом пути?

Спасибо.

Jenkins and plugin lib dirs

ответ

1

По-умолчанию нагрузок Дженкинс каждый баночка из WEB-INF/Lib вместе с содержимым WEB-INF/классов после классов и библиотек ядра.

Если вы хотите, чтобы перед вами были загружены ваши собственные библиотеки (например, вы хотите получить более новую версию скорости или другую библиотеку), вы можете настроить ваш плагин для использования другой стратегии загрузчика классов, указав плагин hpi в вашем pom .xml:

<build> 
    <plugins> 
    <plugin> 
     <groupId>org.jenkins-ci.tools</groupId> 
     <artifactId>maven-hpi-plugin</artifactId> 
     <configuration> 
     <pluginFirstClassLoader>true</pluginFirstClassLoader> 
     </configuration> 
    </plugin> 
    </plugins> 
</build> 

Для получения более подробной информации см docs.

+0

Блестящий - это сработало! Спасибо! – ssloan