jenkins 多版本 jdk
最近又开始使用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的更多相关文章
- 【转】ubuntu 配置 java jdk1.8 环境,增加多版本 jdk 和切换方法
一.安装java jdk1.8 1.添加软件源 sudo add-apt-repository ppa:webupd8team/java 2.更新软件源 sudo apt-get update 3.安 ...
- window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法
window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法 本机已经安装了jdk1.7,而比较早期的项目需要依赖jdk1.6,于是同时在本机安装了jdk1.6和jdk1.7. 安装 ...
- tomcat升级,tomcat窗体改名,一台电脑安装多版本JDK
1 tomcat改名:在bin目录下找到次文件(如图),按图上指示修改(比如我窗体是主数据) 修改后: 2 一台电脑安装多个版本的JDK 为什么我们要安装多个版本JDK?--我是因为tomcat修复漏 ...
- Linux 安装多个版本JDK并设置默认版本
1 官网下载JDK版本 jdk-8u181-linux-x64.tar.gz 2 利用ssh工具上传安装包到Linux系统 传至:/usr/local 3 Linux用户安装的程序一般放在 /usr/ ...
- mac 苹果多版本jdk自由切换
场景 手头上的工具有时候依赖低版本jdk,有时候需要高版本jdk, 如何在不同版本jdk之间来回自由的切换? 安装 首选需要去官网下载dmg安装包,地址:https://www.oracle.com/ ...
- 官网下载旧版本jdk,老版本jdk,jdk1.7,jdk1.8
1.进入中文oracle官网(不是国内官网下载速度超级慢): http://www.oracle.com/technetwork/cn/indexes/downloads/index.html 2.进 ...
- 解决eclipse高版本JDK编译的项目到低版本JDK服务器上不能运行的问题
错误提示信息:Unsupported major.minor version 52.0,意思是说,当前jdk的版本不支持更高版本jdk编译出来的class文件. 我的编译环境,eclipse使用的是j ...
- 【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 解决方法: ...
- 从高版本JDK换成低版本JDK报错Unsupported major.minor version 52.0的解决方案
从高版本JDK换成低版本JDK报错Unsupported major.minor version 52.0 java.lang.UnsupportedClassVersionError: PR/Sor ...
随机推荐
- sum(case when ct.tradeTotal >= 0 then 1 else 0 end)的意思
String hql = "select new com.ks.admin.report.dto.ReportMonthWithDrawalDto(" + "count( ...
- java http 请求的工具类
/*** Eclipse Class Decompiler plugin, copyright (c) 2016 Chen Chao (cnfree2000@hotmail.com) ***/pack ...
- Druid密码加密
pom里引用: <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring ...
- 20175236 2018-2019-2 《Java程序设计》第七周学习总结
教材学习内容总结 String类 String类在java.lang包中的类被默认引入,因此程序可以直接使用String类 Java把String类定义为final类,因此用户不能扩展String类, ...
- iOS 12 tabbar 从二级页面返回时,出现跳动解决办法
APP push一个界面,返回的时候,tabBar上的图标和文字出现一个从上往下的神奇动画 经过测试发现,如果使用系统OS12.1 UINavigationController + UITabBarC ...
- 解决WCF“接收对 http://xxx.svc 的 HTTP 响应时发生错误。这可能是由于服务终结点绑定未使用 HTTP 协议造成的。这还可能是由于服务器中止了 HTTP 请求上下文(可能由于服务关闭)所致"
最近在工作中新加了一个接口,本地调试的时候,直接抛出“接收对 http://xxx.svc 的 HTTP 响应时发生错误.这可能是由于服务终结点绑定未使用 HTTP 协议造成的.这还可能是由于服务器中 ...
- MySQL 错误集-汇总
Q&A: MySQl报错之@@GLOBAL.GTID_PURGED can only be set when @@GLOBAL.GTID_MODE = ON 导入的时候加入-f参数即可 原因分 ...
- ESP32 做Web服务器 http Server步骤
资料不多.多是国外网站的. 百度搜基本出来的是这个网站https://www.dfrobot.com/blog-922.html 出来的代码是: #include <WiFi.h>#inc ...
- Angular CLI: 全局脚本
全局脚本 有的时候,我们需要加载全局脚本,例如 jQuery 脚本库,第三方的控件库等等.比如 jQuery 可以直接加载到 window 对象上,这就需要我们使用 Angular 中的全局脚本来处理 ...
- <<让你自己的APP成为系统应用>>所遇到的问题及解决方法
1.adb connect 10.100.1.772.adb -s 10.100.1.77 shell remount3.让你自己的APP成为系统应用 adb push xxx.apk system/ ...