通用技术 Jenkins 配置不同的 java 版本运行工程

曾晖斌 · 2017年09月12日 · 3235 次阅读

问题原因:目前使用的测试环境默认的 JDK 的版本是 1.6 版本的,开发都使用这个版本,但测试的工程使用的是 1.8,所以涉及到使用不同的版本进行编译,想了一下午才解决的,其实方法不难,具体的看下文吧。


使用的是 Linux 系统,先介绍一些基本的命令

JDK list

查看目前系统有的 JDK 的版本号

JDK java 版本

安装对应版本的 java

java -version

查看目前默认 java 的版本号

修改 jenkins 编译项目的方法有两种

  1. 把 jenkins 的系统管理—>系统设置—>JDK 版本添加项目需要的版本
  • [ ] 在项目配置中设置项目使用的 JDK 版本设置成新添加的 JDK 版本
  1. 添加一个普通的任务,在构建的时候使用
#设置环境变量,先把JDK版本的在这个shell中切换到编译需要的版本
export JAVA_HOME=/opt/soft/jdk/jdk-xxxx
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 
#最后再的运行构建的命令
mvn test

jenkinsl 添加任务的时候,不能添加 maven 任务,要不切换环境变量的命令会不生效,原因看最后 Linux 环境变量的更改方法。

####Linux 设置环境变量的三种方法

  1. 修改系统的配置文件 profile
  • 用文本编辑器打开/etc/profile

  • ·在 profile 文件末尾加入:

    export JAVA_HOME=/usr/share/jdk1.6.0_14 
    export PATH=$JAVA_HOME/bin:$PATH 
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 
    

    这种修改的方法,是对所有用户的 shell 都有权使用这些环境变量,有可能会有系统安全问题。

  1. 修改指定用户的配置文件.bash_profile
  • 用文本编辑器打开用户目录下的.bash_profile 文件

  • ·在.bash_profile 文件末尾加入:

    export JAVA_HOME=/usr/share/jdk1.6.0_14(java的版本号)
    export PATH=$JAVA_HOME/bin:$PATH 
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 
    

    这种修改的方法,是只对单个用户的 shell 的环境变量,是比较常用的一种方式。

  1. 修改当前 shell 的环境变量(临时变量)

直接在当用用户的 shell 运行以下命令

export JAVA_HOME=/usr/share/jdk1.6.0_14 
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 

​ 此方法只对当前的 bash 生效,退出再登录就会失效,只适合临时测试使用。

jenkins 在 shell 中使用就是这种方式,每次构建的时候都会运行一次,运行完成后就会退出 shell,环境变量就不会生效了,有个坑,当 jenkins 创建一个 maven 任务的时候,可以在构建前、后做一些 shell 操作,但因为这几个操作都不是和构建在同一个 shell 中,所以方法三在些情况中不生效。

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册