jenkins+mvn使用自定义jdk

jenkins2.357开始已经全面放弃jdk1.8从而使用openjdk11,但是项目一般都是用的比较老的java环境打包构建

一. 配置java环境(此方式测试有问题)
1.1 新增不同jdk配置和路径
1.2 新增后项目选择对应java8
1.3 构建命令
1.4 打包构建失败

原因在build阶段多了 mvn命令导致去掉就正常了,mvn插件安装后默认运行带了mvn命令

bash 复制代码
clean package -DskipTests=true
1.5 执行过程jdk报错

在Jenkins中,如果默认使用的是JDK 11,但你在Maven项目中自定义使用了JDK 8,那么在执行构建时,由于类文件版本不兼容,最终还是调用了自带的java环境(配置jdk1.8报错但是最终继续可以打包完成是因为还是调用自带的jdk11构建的)

二. 流水线构建
2.1 指定mvn使用jdk1.8环境
csharp 复制代码
#在mvn二进制文件中,会获取当前环境的$JAVA_HOME环境
mvn文件增加自己安装的jdk路径即可
[root@iZ3ic060uyx26md9jijcexZ bin]# /usr/local/apache-maven-3.6.3/bin
[root@iZ3ic060uyx26md9jijcexZ bin]# vi mvn
JAVA_HOME=/usr/local/jdk1.8.0_221

原mvn查看使用为系统默认openjdk

修改后为使用jdk1.8环境的java

2.2 jenkinsfile
csharp 复制代码
pipeline {
    agent any
    tools {
        jdk 'java8'
        maven 'maven3.6.3'
    }
    ...
}
相关推荐
heimeiyingwang2 天前
【GitOps·入门篇】工具生态:ArgoCD、Flux、Jenkins X 对比选型
jenkins·flux·argocd·gitops
骇客野人2 天前
基于Nginx+Eureka+Apollo+Jenkins+SpringBoot Web系统分布式部署方案
nginx·eureka·jenkins
中才实用3 天前
Jenkins自动化部署
运维·自动化·jenkins
童槿顏丶6 天前
Jenkins部署(Docker)
java·docker·jenkins
Elastic 中国社区官方博客10 天前
使用 Elasticsearch open inference API 对 OpenAI chat completions 进行支持
大数据·elasticsearch·搜索引擎·全文检索·jenkins
X1A0RAN11 天前
Jenkins Pipeline 变量打印指南
运维·servlet·jenkins
heimeiyingwang11 天前
【CI/CD·Jenkins篇】多节点构建:Agent 配置与任务分发策略
ci/cd·jenkins
heimeiyingwang12 天前
【CI/CD·Jenkins篇】环境搭建:从零部署 Jenkins 主从架构
ci/cd·jenkins
heimeiyingwang12 天前
【CI/CD·Jenkins篇】Pipeline 基础:Declarative 与 Scripted 语法详解
ci/cd·pipeline·jenkins
遨游DATA13 天前
Jenkins 修改 config.xml 后页面仍是旧配置:让 live job 配置真正生效
ci/cd·jenkins·devops·故障排查·config.xml