因项目系统比较多,有的系统编译用sun 的JDK,有的系统需要IBM的JDK。。因此Jenkins中需要配置两个不同版本的JDK。
目前Jenkins上已经配置了sun的JDK。所以需要把IBM的JDK配置上。websphere8.5自带的JDK就是IBM的,所以不需要单独下载了。
1.将IBM 的JDK传输到jenkins构建服务器上。/home/ap/tool/ 目录下
2.登录jenkins
系统管理-系统设置-JDK,配置IBM的JDK
3.重启jenkins
4.进入到相应的job下,设置
选择编译此job用的JDK
5. 编译代码,报错
Error: JAVA_HOME is not definedcorrectly.
We cannot execute/home/ap/tool/IBM_JDK_1.6/java//bin/java
此问题查了一会才知道原因的。。因为此项目是用ant 编译打包的,因此要修改ant命令
#cd /home/ap/ncl/ci_tools/apache-ant-1.9.2/bin
#vi ant
if [ -z “$JAVACMD” ] ;then
if [ -n “$JAVA_HOME” ]; then
# IBM’s JDK on AIX uses strange locations for the executables
if [ -x “$JAVA_HOME/jre/sh/java” ] ; then
JAVACMD=”$JAVA_HOME/jre/sh/java”
elif [ -x “$JAVA_HOME/jre/bin/java” ] ; then
JAVACMD=”$JAVA_HOME/jre/bin/java”
else
# JAVACMD=”$JAVA_HOME/bin/java”
JAVACMD=”/home/ap/tool/IBM_JDK_1.6/java/bin/java”
fi
else
JAVACMD=`which java 2> /dev/null `
if [ -z “$JAVACMD” ] ; then
JAVACMD=java
fi
fi
fi
(1) 再次编译代码,OK。
(2) 如果修改ant之后,没有生效,可以重启reboot下系统。
(3) 注意:不需要将ibm的jdk配置到/etc/profile中,配置多个会指乱。