tomcat之一:指定tomcat运行时JDK版本

tomcat作为日常开发的web应用服务器,给开发测试带来了很多便利,tomcat的运行依赖JDK的支持,在安装JDK时经常会配置环境变量:JAVA_HOME、CLASSPAT,且需要添加path变量。把应用部署到tomcat下时大多数不需要修改运行环境,但是有时候需要修改JDK的版本,从可以修改tomcat运行时的JDK版本,我们可以知道使用tomcat时不时必须要配置JDK环境变量,因为我们可以通过修改tomcat的文件,指定tomcat运行时的JDK版本。

下面说明如何修改tomcat运行时JDK版本

windows

1、解压下载的tomcat;

2、找到bin下的setclasspath.bat文件;在文件的开始出添加如下代码:

set JAVA_HOME=D:\Program Files\Java\jdk7\jdk1.7.0_51
set JRE_HOME=D:\Program Files\Java\jdk7\jre7

上面的意思是设定JAVA_HOME和JRE_HOME的路径;

通过这里我们可以看出可以不设置JDK的环境变量;

linux

在bin下找到setclasspath.sh,在文件的最开始加入如下代码:

set JAVA_HOME=/home/jdk/Java\jdk7\jdk1.7.0_51
set JRE_HOME=/home/jdk/Java\jdk7\jre7

 

修改了setclasspath文件之后,tomcat在启动时便使用设定的JDK。

但是为什么这样设置之后就可以呢?

我们都知道启动tomcat可以通过运行bin下的startup.bat,startup.bat会调用catalina.bat文件,而catalina.bat会调用setclasspath.bat文件来获取JAVA_HOME和JRE_HOME这两个环境变量的值,因此若要在tomcat启动时指向特定的JDK,则需在setclasspath.bat文件的开头处加上JAVA_HOME和JRE_HOME。

基于上面的运行方式,还有第二种修改方式,如下:

1、修改tomcat/bin/catalina.bat,增加 set JAVA_HOME=D:\Program Files\Java\jdk7\jdk1.7.0_51

2、修改tomcat/bin/setclasspath.bat,同样增加

set JAVA_HOME=D:\Program Files\Java\jdk7\jdk1.7.0_51

set JRE_HOME=D:\Program Files\Java\jdk7\jre7

 

这两种方式使用任何一种都可以实现修改tomcat的依赖JDK环境,同时可以不配置JDK的环境变量。

Jenkins 为每个job配置相应的jdk版本

在使用jenkins构建项目时会遇到不同的job需要配置不同版本的jdk。例如job1里构建project A 时需要的jdk版本是1.7的,但是在job2里面构建project B时,却需要的jdk版本是1.8的。或者是同一个job需要在构建时根据情况指定不同的jdk版本等情况。此时就需要为job指定使用的jdk版本,这个需求可以通过配置jenkins Global Tool Configuration 和JDK Parameter Plugin实现。
方法如下说明:

  1. 先在jenkins 上的manage Jenkins ——->Manage Plugins—–>Available里面搜索JDK Parameter Plugin安装。
  2. 在Manage Jenkins——->Global Tool Configuration——>JDK部分,点击Add JDK:
    这里写图片描述
  3. 配置不同版本的jdk:
    填写name(可以随便取名,主要用来标识,会出现在后续job中jdk的版本选择中),然后勾选I agree to the Java SE Development Kit Licence Agreement。

    这里是通过jenkins每次去网站上自动下载,此时若是第一次配置jdk,还会要求你输入java.sun.com网站上的账号。根据提示填写就好(没有就注册一个)。
    这里写图片描述

  4. 新建一个job,此时在job 的config界面会有jdk选项,供你选择jdk的版本。下拉框中的选项是之前在Global Tool Configuration中配置的jdk name
    这里写图片描述

若是需要把设置jdk 版本作为参数化构建的参数,此时可以在job 的config 界面中添加参数:
这里写图片描述

填写参数的名称,选择默认的jdk版本,selectable jdks 是在参数化构建时的可选项,下拉菜单中是之前Global Tool Configuration中配置的jdk name。
这里写图片描述
该配置完成后,参数化构建job时会是下图所示的样子:
这里写图片描述

ok~为不同的job指定不同版本的jdk完成构建就完成啦,不得不感慨jenkins 的强大之处,可以集成各种各样的插件~