当前位置: 首页 > 知识库问答 >
问题:

jenkins插件可以使用与主要jenkins webapp不同的jar版本吗?

澹台正真
2023-03-14

我正在开发一个Jenkins插件,其中包含一个jar作为依赖项,但是这个jar已经包含在主要Jenkins webapp的WEB-INF/lib目录中。这将是好的,除了我的插件需要版本X和Jenkins包括版本Y,并且api在它们之间发生了变化,所以我不能使用旧版本,Jenkins不能使用新版本。

我想要的版本包含在我的中。hpi文件,但在运行时从jenkins/WEB-INF/lib获取版本。我猜由于类加载器的原因,我不能强迫它在我的。hpi文件,但想检查一下是否有人知道这样做的方法?

谢谢

共有1个答案

艾谦
2023-03-14

默认情况下,Jenkins从WEB-INF/lib加载每个jar,以及核心的类和库之后的WEB-INF/类的内容。

如果您希望在这些库之前加载您自己的库(例如,您想要更新版本的velocity或其他库),您可以通过在pom中告知hpi插件,将插件配置为使用不同的类加载器策略。xml:

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

有关更多详细信息,请参阅文档。

 类似资料:
  • 我想在这里对蒂姆的回答发表评论(https://stackoverflow.com/a/1172805/1746310)但因为我的声誉,我不能,我写了它作为回答,说我想发表评论,但因为我的声誉,我不能。这条消息后来被ChrisF删除了(https://stackoverflow.com/users/59303/chrisf)说这不是答案,我应该写一条评论。。。我找不到这个词。 不管怎样,这就是我所

  • 问题内容: 我想使用 版本号插件 来格式化BUILD_NUMBER变量。 我在下面的方式进行配置的: 图片 环境变量名称:FORMATTED_BUILD_NUMBER版本号格式字符串:$ {BUILD_NUMBER,XXX} 但是,当我使用FORMATTED_BUILD_NUMBER变量($ {FORMATTED_BUILD_NUMBER})时,它将返回未格式化的内部版本号。 所以我想看到类似的东

  • 我试图用Java-13和Maven创建Java模块项目。我的是: 版本: 如果我用跳过测试阶段,它就可以正常工作: 复制项目示例:https://github.com/g4s8/so58710751

  • 我已经下载了TomEE plume 8.0.0-M2,TomEE plus 8.0.0-M2,TomEE webprofile 8.0.0-M2,TomEE microprofile 8.0.0-M2和OpenEJB Standalone 8.0.0-M2(来自http://tomee.apache.org/download-ng.html) 我已经安装了所有这些TomEE版本,并在解压缩后更改了

  • 我在Grails应用程序中集成了Spring security核心插件。

  • 我想执行一个maven版本,在运行于jdk 1.7的Jenkins安装上编译java 1.8代码 我有一个使用JDK参数插件用Java1.8编译的项目。它在进行常规构建时有效。 当我使用maven发布插件进行maven发布时,它会将JVM与java 1.7相结合,而不是插件上指定的版本。我猜它需要环境中的java版本。 如果我将JAVA_HOME for the job设置为1.8,它就会工作。