我正在研究Jenkins插件并将jar包含为依赖项 - 但该jar已经包含在主Jenkins webapp的WEB-INF / lib目录中。这很好,除了我的插件需要版本X和Jenkins包含版本Y,并且api在它们之间发生了变化,所以我不能使用旧版本,而Jenkins不能使用新版本。
我想要的版本包含在我的.hpi文件中,但在运行时,jenkins / WEB-INF / lib的版本被选中。我猜是因为类加载器我不能强迫它在我的.hpi文件中拾取版本,但是想查看是否有人知道这样做的方法吗?
感谢。
答案 0 :(得分:1)
默认情况下,Jenkins从 WEB-INF / lib 加载每个jar,以及在核心的类和库之后加载 WEB-INF / classes 的内容。
如果您希望在这些之前加载自己的库(例如,您需要更新版本的速度或其他库),可以通过告诉中的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。