Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在jenkins init脚本中使用自定义java库进行安装?_Java_Jenkins - Fatal编程技术网

如何在jenkins init脚本中使用自定义java库进行安装?

如何在jenkins init脚本中使用自定义java库进行安装?,java,jenkins,Java,Jenkins,我正在努力实现Jenkins安装的自动化,并且依赖于$Jenkins_HOME/init.groovy.d中的groovy脚本 我想在这些脚本中使用我自己的java库。到目前为止,我已经发现,我可以通过将我的罐子放在$JENKINS_HOME/war/WEB-INF/lib中来实现这一点 问题是我想让整个过程自动化,所以我从空的$JENKINS_HOME开始 java-jar-jenkins.war 因此,如果我在执行命令之前复制我的库,那么命令会删除它。在执行命令后复制我的jar感觉不对劲

我正在努力实现Jenkins安装的自动化,并且依赖于$Jenkins_HOME/init.groovy.d中的groovy脚本

我想在这些脚本中使用我自己的java库。到目前为止,我已经发现,我可以通过将我的罐子放在$JENKINS_HOME/war/WEB-INF/lib中来实现这一点

问题是我想让整个过程自动化,所以我从空的$JENKINS_HOME开始

java-jar-jenkins.war
因此,如果我在执行命令之前复制我的库,那么命令会删除它。在执行命令后复制我的jar感觉不对劲


也许有正确的方法?可能是java或jenkins的论点。我曾尝试将我的jar添加到类路径,但没有帮助/

我在jenkins中找到了两种使用自定义jar的方法

  • 把罐子放在詹金斯的里面
  • 詹金斯将把Jenkins.war/WEB-INF/lib中的所有JAR添加到类路径中。所以,如果您想将custom.jar的内容添加到类路径中,只需将其嵌入到jar中即可。为此,您应该将custom.jar放在./WEB-INF/lib中,然后执行以下命令

    jar——更新——文件jenkins.war WEB-INF/lib/custom.jar
    
    之后,每次运行jenkins.war时,custom.jar都会出现在类路径中jar实用程序随jdk提供

  • Use--commonLibFolder参数
  • 詹金斯使用嵌入式码头工作。默认情况下,jetty将lib目录中的所有文件添加到类路径。要指定自定义目录,可以在jenkins启动时使用--commonLibFolder参数。下面是如何将所有JAR从libs目录添加到类路径

    java-jar jenkins.war--commonLibFolder=./libs
    
    请注意,使用--extraLibFolder将不起作用,因为它只向jetty类加载器添加JAR