首页 > 其他分享 >Jenkins流水线使用@Grab 导入Maven库

Jenkins流水线使用@Grab 导入Maven库

时间:2024-02-26 15:15:01浏览次数:28  
标签:group restlet commons Maven org Jenkins Grab sdk

有个需求需要在pipeline中调用Java的SDK去执行业务

使用 @Grab 注解可以在Maven中导入Java 库,

@Grab('org.apache.commons:commons-math3:3.4.1')
import org.apache.commons.math3.primes.Primes

引入依赖后,在通过import导入

另外的写法

@Grab(group='org.springframework', module='spring-orm', version='5.2.8.RELEASE')
import org.springframework.jdbc.core.JdbcTemplate

指定maven仓库

@GrabResolver(name='restlet', root='http://maven.restlet.org/')
@Grab(group='org.restlet', module='org.restlet', version='1.1.6')

引入多个包

@Grapes([
   @Grab(group='commons-primitives', module='commons-primitives', version='1.0'),
   @Grab(group='org.ccil.cowan.tagsoup', module='tagsoup', version='0.9.7')
])

这样就可以在流水线中使用java的包

@Grab('com.test.sdk:1.0.0')
@GrabResolver(name = 'share-lib', root = 'http://localhost:8083/repository/share-lib/')
import com.test.sdk

pipeline {
     stages {
        stage('call sdk') {
                echo "调用SDk"
                def sdk = new sdk()
                def result = sdk.get($param)
                echo "${result}
            }
        }
    }
}

默认情况下,下载的包缓存在 ~/.groovy/grapes/中,我在测试过程中,发现拉取一次后,后续就不会去拉取依赖了,即使有更新也不会去拉取

https://docs.groovy-lang.org/latest/html/documentation/grape.html#_quick_start

标签:group,restlet,commons,Maven,org,Jenkins,Grab,sdk
From: https://www.cnblogs.com/aruo/p/18034354

相关文章

  • maven使用systemPath方式加载本地jar(代码库)
    比如,jar包直接放到根目录 pom.xml里这么配置<dependency><groupId>njcanc</groupId><artifactId>njcanc</artifactId><version>2.12</version><scope>system</scope><systemPath>${project.b......
  • Jenkins下载插件报错
    只要看日志报了什么错下载超时更新代理源https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json报unabletofindvalidcertificationpathtorequestedtarget需要ssl认证,两种解决办法跳过ssl检查https://mirrors.tuna.tsinghua.edu.cn/jenkin......
  • JavaFlink系列之一:Maven程序搭建及Java入门案例多种写法
    JavaFlink系列之一:Maven程序搭建及Java入门案例多种写法 一、Flink项目依赖配置<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://maven.apache.org/POM/4.0.0"......
  • Maven 换源
    ~/.m2/settings.xml<?xmlversion="1.0"encoding="UTF-8"?><!--LicensedtotheApacheSoftwareFoundation(ASF)underoneormorecontributorlicenseagreements.SeetheNOTICEfiledistributedwiththisworkforadditional......
  • Kubernetes配合Jenkins实现轻量自动持续集成
    Kubernetes配合Jenkins实现轻量自动持续集成原创 王先森sec 王先森Sec 2024-02-1913:16 北京 听全文这是一个分享运维,DevOps,安全等知识的微信公众号。王先森Sec王先森Sec分享运维,DevOps,安全等知识。23篇原创内容公众号背景介绍在当今的软件开......
  • Maven 设置 JDK 版本
    方法一(推荐)<project> ... <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties></project>方法二<project> ... <build&......
  • Jenkins数据迁移
    Jenkins需要从一台主机换到另外一台主机怎么迁移数据两台主机的Jenkins版本需要保持一致安装Jenkins#sudowget-O/etc/yum.repos.d/jenkins.repohttps://pkg.jenkins.io/redhat-stable/jenkins.repo#sudorpm--importhttps://pkg.jenkins.io/redhat-stable/jenkins.i......
  • Jenkins构建提示docker命令权限问题解决方法
    参考:https://zhuanlan.zhihu.com/p/568513293使用Jenkins构建时使用的用户为jenkins在使用docker命令时会报以下错误ERROR:permissiondeniedwhiletryingtoconnecttotheDockerdaemonsocketatunix:///var/run/docker.sock:Get"http://%2Fvar%2Frun%2Fdocker.soc......
  • 持续集成工具Jenkins
    1从装修厨房看项目开发效率优化1.1持续部署装修厨房全部装好之后发现灯不亮,电路有问题;冷热水装反了,管路有问题。这些问题要解决就必须把地砖、墙砖拆掉——一个环节有问题,其他环节跟着返工。那怎么做会好一些呢?任何安装完成及时测试,确保其可以正常工作。项目......
  • 29.Jenkins Api 接口
    JenkinsApi简介Jenkins对外暴露的动作交付入口为外部程序提供入口,可以控制Jenkins支持协议-HttpApi接口支持用户名、密码认证JenkinsApi支持的典型功能:运行Job、查看任务状态、返回任务编号…等JenkinsApi环境准备使用curl调用获取所有Jobs接口创建一......