Java jenkins插件可以使用与主要jenkins webapp不同的jar版本吗?
我正在开发一个Jenkins插件,其中包含一个jar作为依赖项,但是这个jar已经包含在主要Jenkins webapp的WEB-INF/lib目录中。这将是好的,除了我的插件需要版本X和Jenkins包括版本Y,并且api在它们之间发生了变化,所以我不能使用旧版本,Jenkins不能使用新版本 我想要的版本包含在我的.hpi文件中,但在运行时,从jenkins/WEB-INF/lib获取的版本会被获取。我猜由于类加载器的原因,我无法强制它在我的.hpi文件中获取版本,但想检查一下,看看是否有人知道这样做的方法 谢谢Java jenkins插件可以使用与主要jenkins webapp不同的jar版本吗?,java,maven,jenkins,classloader,jenkins-plugins,Java,Maven,Jenkins,Classloader,Jenkins Plugins,我正在开发一个Jenkins插件,其中包含一个jar作为依赖项,但是这个jar已经包含在主要Jenkins webapp的WEB-INF/lib目录中。这将是好的,除了我的插件需要版本X和Jenkins包括版本Y,并且api在它们之间发生了变化,所以我不能使用旧版本,Jenkins不能使用新版本 我想要的版本包含在我的.hpi文件中,但在运行时,从jenkins/WEB-INF/lib获取的版本会被获取。我猜由于类加载器的原因,我无法强制它在我的.hpi文件中获取版本,但想检查一下,看看是否有人
根据默认值,Jenkins从WEB-INF/lib加载每个jar,并在核心类和库之后加载WEB-INF/classes的内容 如果您想在这些库之前加载自己的库(例如,您想要更新版本的velocity或其他库),您可以通过在pom.xml中告诉hpi插件来配置插件以使用不同的类加载器策略:
org.jenkins-ci.tools
<build>
<plugins>
<plugin>
<groupId>org.jenkins-ci.tools</groupId>
<artifactId>maven-hpi-plugin</artifactId>
<configuration>
<pluginFirstClassLoader>true</pluginFirstClassLoader>
</configuration>
</plugin>
</plugins>
</build>