windows版本的jdk安装以后会将安装的路径写入系统的注册表里边的...很多程序不用配置JAVA_HOME是因为那些程序是直接通过读取注册表里边的路径获取了jdk的路径。比如eclipse;netbeans则是在安装的时候安装程序会去注册表里边读取jdk的路径,直接把它写到netbeans的配置文件里边去了
而tomcat就没有这样去处理,只是简单地通过环境变量去获取jdk的路径,所以要运行tomcat一般都是要配置环境变量的...如果不配置也可以,修改tomcat/bin/startup.bat...tomcat这样做也是出于跨平台考虑的...因为系统注册表是只有windows系统才有的
====================================================
给客户安装软件的时候,也许客户不想你在人家机器的环境变量里设置来设置去,那么就要在tomcat里指定要使用的jdk了,其实很简单,只需要在apache-tomcat-6.0.29/bin/setclasspath.bat文件里的开头加上以下代码就可以了:
set JRE_HOME=d:/jdk5.0
set JAVA_HOME=d:/jdk5.0
set JSSE_HOME=d:/jdk5.0
假设jdk在d盘,
但是如果照上面那样写,万一有时候客户不允许我们把jdk放在d盘,那就又要更改setclasspath.bat文件了。
为了一劳永逸,可以这样做:将jdk放在tomcat目录下,然后将上面的内容更改为:
set JRE_HOME="%CATALINA_HOME%/jdk5.0"
set JAVA_HOME="%CATALINA_HOME%/jdk5.0"
set JSSE_HOME="%CATALINA_HOME%/jdk5.0"
这样部署项目的时候我们只需要把tomcat放到任意的目录就OK了
=============================================
1.修改bin文件夹下面的catalina.bat文件,把如下内容
rem ----- ExecuteThe Requested Command ---------------------------------------
echo Using CATALINA_BASE: %CATALINA_BASE%
echo Using CATALINA_HOME: %CATALINA_HOME%
echo Using CATALINA_TMPDIR: %CATALINA_TMPDIR%
echo Using JAVA_HOME: %JAVA_HOME%
修改为:
echo Using CATALINA_BASE: %CATALINA_BASE%
echo Using CATALINA_HOME: %CATALINA_HOME%
echo Using CATALINA_TMPDIR: %CATALINA_TMPDIR%
echo Using JAVA_HOME: D:/jdk -------这里的d:/jdk即为需要指定的目录---------
2.修改bin文件夹下面的setclasspath.bat文件,把如下内容:
rem Set standardcommand for invoking Java.
rem Note that NTrequires a window name argument when using start.
rem Also note thequoting as JAVA_HOME may contain spaces.
set_RUNJAVA="%JAVA_HOME%/bin/java"
set_RUNJAVAW="%JAVA_HOME%/bin/javaw"
set_RUNJDB="%JAVA_HOME%/bin/jdb"
set_RUNJAVAC="%JAVA_HOME%/bin/javac"
修改为:
rem Set standardcommand for invoking Java.
rem Note that NTrequires a window name argument when using start.
rem Also note thequoting as JAVA_HOME may contain spaces.
set_RUNJAVA="D:/jdk5/bin/java"
set_RUNJAVAW="D:/jdk5/bin/javaw"
set_RUNJDB="D:/jdk5/bin/jdb"
set_RUNJAVAC="D:/jdk5/bin/javac"