最近又开始使用jenkins了,遇到一个问题,开发本地使用的jdk是1.7,而我们jenkins由于需要对docker的插件的支持必须使用1.8。

这样就导致了有的开发的代码在jenkins去代码库checkout代码的时候,有的代码能被jenkins打包,但是有的代码拉取下来登录到jenkins宿主机

能够使用mvn install打包,但是不能被jenkins打包,出现这个问题主要是mvn使用的是系统的JAVA_HOME变量,如果降低java版本会导致jenkins无法使用

而mvn是不会受到影响,所以要解决这个jdk版本共存问题

过程如下: 

1、官网现在一个免安装版的jdk1.8,解压到任何目录,我这里是解压到/usr/java/

[root@localhost java]# ll
total 8
lrwxrwxrwx. 1 root root 16 Mar 21 09:55 default -> /usr/java/latest
drwxr-xr-x. 8 root root 4096 Mar 21 09:55 jdk1.7.0_55
drwxr-xr-x. 9 root root 4096 Mar 21 09:44 jdk1.8.0_171
lrwxrwxrwx. 1 root root 21 Mar 21 09:55 latest -> /usr/java/jdk1.7.0_55
在profile最后面添加如下:
[root@localhost java]# cat /etc/profile
JAVA_HOME=/usr/java/default
CLASSPATH=$JAVA_HOME/lib
PATH=$PATH:$JAVA_HOME/bin
export PATH CLASSPATH JAVA_HOME
重新打开终端可以查看maven版本
主要是这个mvn对JAVA_HOME有要求,因为这个变量写入了mvn可执行文件中

[root@echqdslavejenkins_ops opt]# /usr/local/maven/bin/mvn --version
Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-25T03:49:05+08:00)
Maven home: /usr/local/maven
Java version: 1.7.0_55, vendor: Oracle Corporation
Java home: /usr/java/jdk1.7.0_55/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-327.el7.x86_64", arch: "amd64", family: "unix"

 

这里我使用的jenkins为rpm包。

wget https://prodjenkinsreleases.blob.core.windows.net/redhat-stable/jenkins-2.150.3-1.1.noarch.rpm

[root@localhost opt]# yum localinstall jenkins-2.150.3-1.1.noarch.rpm

[root@echqdslavejenkins_ops opt]# vim /etc/init.d/jenkins
candidates="
/usr/java/jdk1.8.0_171/bin/java
/etc/alternatives/java
/usr/lib/jvm/java-1.8./bin/java
/usr/lib/jvm/jre-1.8./bin/java
/usr/lib/jvm/java-1.7./bin/java
/usr/lib/jvm/jre-1.7./bin/java
/usr/bin/java
"

启动jenkins就行了

/etc/init.d/jenkins start

jenkins 多版本 jdk的更多相关文章

  1. 【转】ubuntu 配置 java jdk1.8 环境,增加多版本 jdk 和切换方法

    一.安装java jdk1.8 1.添加软件源 sudo add-apt-repository ppa:webupd8team/java 2.更新软件源 sudo apt-get update 3.安 ...

  2. window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法

    window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法 本机已经安装了jdk1.7,而比较早期的项目需要依赖jdk1.6,于是同时在本机安装了jdk1.6和jdk1.7. 安装 ...

  3. tomcat升级,tomcat窗体改名,一台电脑安装多版本JDK

    1 tomcat改名:在bin目录下找到次文件(如图),按图上指示修改(比如我窗体是主数据) 修改后: 2 一台电脑安装多个版本的JDK 为什么我们要安装多个版本JDK?--我是因为tomcat修复漏 ...

  4. Linux 安装多个版本JDK并设置默认版本

    1 官网下载JDK版本 jdk-8u181-linux-x64.tar.gz 2 利用ssh工具上传安装包到Linux系统 传至:/usr/local 3 Linux用户安装的程序一般放在 /usr/ ...

  5. mac 苹果多版本jdk自由切换

    场景 手头上的工具有时候依赖低版本jdk,有时候需要高版本jdk, 如何在不同版本jdk之间来回自由的切换? 安装 首选需要去官网下载dmg安装包,地址:https://www.oracle.com/ ...

  6. 官网下载旧版本jdk,老版本jdk,jdk1.7,jdk1.8

    1.进入中文oracle官网(不是国内官网下载速度超级慢): http://www.oracle.com/technetwork/cn/indexes/downloads/index.html 2.进 ...

  7. 解决eclipse高版本JDK编译的项目到低版本JDK服务器上不能运行的问题

    错误提示信息:Unsupported major.minor version 52.0,意思是说,当前jdk的版本不支持更高版本jdk编译出来的class文件. 我的编译环境,eclipse使用的是j ...

  8. 【Devops】【docker】【CI/CD】Jenkins自动安装JDK需要提供Oracle的账号密码,否则报错:Unable ro auto-install JDK until the license is accepted

    Jenkins自动安装JDK需要提供Oracle的账号密码,否则报错:Unable ro auto-install JDK  until the  license is accepted 解决方法: ...

  9. 从高版本JDK换成低版本JDK报错Unsupported major.minor version 52.0的解决方案

    从高版本JDK换成低版本JDK报错Unsupported major.minor version 52.0 java.lang.UnsupportedClassVersionError: PR/Sor ...

随机推荐

  1. 新手尝试Android studio连接mumu调试程序

    由于Android studio本身虚拟机比较卡在安装as的时候就没有安装.于是自己安装了一款手机模拟器mumu模拟器.我想真机可以调试那么摸仪器应该也可以,于是就从网上找资料,其实连接很简单. 1. ...

  2. Optaplanner规划引擎的工作原理及简单示例(1)

    在之前的文章中,老猿已介绍过APS及规划的相关内容,也对Optaplanner相关的概念和一些使用示例进行过介绍,接下来的文章中,我会自己做一个规划小程序 - 一个关于把任务分配到不同的机台上进行作来 ...

  3. Nginx的编译安装及选项

    编译安装Nginx1.安装常见的工具和库(GCC.PCRE.zlib.OpenSSL) Nginx是一个由C语言编写的,所以需要一个编译工具如GNU的GCC[root@www ~]# yum inst ...

  4. SSM框架-初学Mybatis框架

    SSM(Spring+SpringMVC+Mybatis)是目前项目开发比较流行的一套组合框架,而Mybatis是负责数据库操作的那部分框架,具体 我也说不上来 传统的JDBC操作比较冗长而繁琐,而用 ...

  5. 音乐出身的妹纸,零基础学习JAVA靠谱么

    问:表示音乐出身的妹纸一枚  某一天突然觉得身边认识的是一群程序员   突然想 要不要也去试试... 众好友都觉得我该去做个老师,可是我怕我会误人子弟,祸害祖国下一代..... 要不要 要不要 学Ja ...

  6. opencv人脸检测,旋转处理

    年会签到,拍自己的大头照,有的人可能会拍成横向的,需要旋转,用人脸检测并修正它(图片). 1. 无脑检测步骤为: 1. opencv 读取图片,灰度转换 2. 使用CascadeClassifier( ...

  7. (20/24) webpack实战技巧:watch实现热打包和添加代码备注

    在前面的学习中,我们一直使用webpack-dev-server充当(本地)服务器和完成打包任务,但是当出项目团队联合开发,共同使用一个服务器时,这时候我们需要实时进行打包以确保团队间能进行联调或者进 ...

  8. LeetCode 24. Swap Nodes in Pairs 成对交换节点 C++/Java

    Given a linked list, swap every two adjacent nodes and return its head. You may not modify the value ...

  9. 01 HTML快速入门

    HTML CSS JS (网络三剑客) 上网就是下载网页 浏览器 就是一个解释器 CS模式--------client serverbs模式--------browser server HTML是什么 ...

  10. redis(1)--redis3.2.8安装

    一.下载安装包 http://download.redis.io/releases/  选择对应的版本 二.copy到对应的虚拟机上 运行 tar -zxvf  redis-3.2.8 进行解压 更改 ...