赞
踩
下载完成后,将其解压,得到的各目录如下图所示:
至此,Tomcat便是安装好了
环境变量(JAVA_HOME 、 CATALINA_HOME 、Path)
Tomcat在运行时必须指定使用的JDK,由于我们可能下载了多个JDK版本,所以使用Tomcat前,必须配置好 JAVA_HOME,来指定我们需要使用哪一个JDK。(由于之前已经配置好了,在此不多赘述)
当配置好JAVA_HOME之后我们便可以启动Tomcat了,但只能在安装目录的bin目录下找到 startup.bat 双击启动,如果我们想使用命令行启动,则需要配置CATALINA_HOME 和 Path,
在系统变量中新建变量CATALINA_HOME,变量值为Tomcat安装路径。
此时,打开命令行,输入 startup 命令然后回车,如下所示:
C:\Users\pplsunny>startup
'CATALINA_OPTS' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
Using CATALINA_BASE: "D:\ProgramFiles\apache-tomcat-8.5.82"
Using CATALINA_HOME: "D:\ProgramFiles\apache-tomcat-8.5.82"
Using CATALINA_TMPDIR: "D:\ProgramFiles\apache-tomcat-8.5.82\temp"
Using JRE_HOME: "C:\Java\jdk1.8.0_341"
Using CLASSPATH: "D:\ProgramFiles\apache-tomcat-8.5.82\bin\bootstrap.jar;D:\ProgramFiles\apache-tomcat-8.5.82\bin\tomcat-juli.jar"
Using CATALINA_OPTS: ""
C:\Users\pplsunny>
这说明 Tomcat 服务器已经可以在命令行中正常启动了,我们可以在网址栏中输入 http://localhost:8080/ 来访问Tomcat服务器主界面(访问格式: 访问地址 :端口号)用来检验 Tomcat 是否安装配置成功
除了运行成功以外,当然也可能也会遇到某些异常,小编就遇到了这么一个,如下图所示:
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program
既然是环境变量加载不到,我们就简单概括的分析一下,Tomcat 在哪里需要加载JDK环境变量:
## startup.bat setlocal rem Guess CATALINA_HOME if not defined set "CURRENT_DIR=%cd%" if not "%CATALINA_HOME%" == "" goto gotHome set "CATALINA_HOME=%CURRENT_DIR%" if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome cd .. set "CATALINA_HOME=%cd%" cd "%CURRENT_DIR%" :gotHome if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome echo The CATALINA_HOME environment variable is not defined correctly echo This environment variable is needed to run this program goto end :okHome set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"
## setclasspath.bat set JAVA_HOME=C:\Java\jdk1.8.0_341 set JRE_HOME=C:\Java\jre1.8 rem Make sure prerequisite environment variables are set rem In debug mode we need a real JDK (JAVA_HOME) if ""%1"" == ""debug"" goto needJavaHome rem Otherwise either JRE or JDK are fine if not "%JRE_HOME%" == "" goto gotJreHome if not "%JAVA_HOME%" == "" goto gotJavaHome echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined echo At least one of these environment variable is needed to run this program goto exit
整个调用链路:启动文件startup.bat → catalina.bat → setclasspath.bat,setclasspath.bat 里读取系统的环境变量。
做程序员都知道的,配置系统的JAVA【环境变量】。如果“JAVA_HOME”和“JRE_HOME”本身为空,在系统变量中又找不到,就会出现标题中的问题,导致 Tomcat 启动失败。
解决办法:
我总结了2种解决方法,原理上是一致的,都是为了让Tomcat启动时能够加载到系统的JAVA环境变量。
方法1,是你搜同类问题时,其他博客中普遍介绍的一种,很直接很暴力很有效;
而方法2,我认为是最正统的从根本上解决问题的方法。
set JAVA_HOME=C:\Java\jdk1.8.0_341
set JRE_HOME=C:\Java\jre1.8
在这里,我们需要配置两个参数:JAVA_HOME 和 Path
JAVA_HOME:C:\Java\jdk1.8.0_341(你安装的JDK的磁盘路径)
Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
配置完成以后,重新启动 Tomcat 即可,下面是启动成功的cmd日志,至于Tomcat日志会弹出新的终端显示。
编辑tomcat8/conf目录下的logging.properties文件
加入:java.util.logging.ConsoleHandler.encoding = GBK
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
java.util.logging.ConsoleHandler.encoding = UTF-8
java.util.logging.ConsoleHandler.encoding = GBK
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。