解決tomcat一閃而過的問題(windows環境下)

1.首先,在cmd下,切換到startup.bat所在目錄,然後命令行執行startup.bat,dos界面會給出錯誤提示

2.查看錯誤提示

3.根據錯誤提示,進行debug

4.例如,下面是我解決問題的思路:

a.我的報錯信息爲:

The CATALINA_HOME environment variable is not defined correctly
This environment variable is needed to run this program

b.找出爲何會報這樣的錯誤(我百度過,但是百度到的問題並不像是我所遇到的問題,雖然報錯信息是一樣的,但是出錯的細節也許並不一定和你自己的完全一致,這就是爲何無腦用百度的答案無法解決自己的問題的原因)

c.查看startup.bat文件內容(通過百度,嘗試學習bat批處理命令是什麼意思,逐漸理解startup.bat文件代碼的意思)

@echo off
rem Licensed to the Apache Software Foundation (ASF) under one or more
rem contributor license agreements.  See the NOTICE file distributed with
rem this work for additional information regarding copyright ownership.
rem The ASF licenses this file to You under the Apache License, Version 2.0
rem (the "License"); you may not use this file except in compliance with
rem the License.  You may obtain a copy of the License at
rem
rem     http://www.apache.org/licenses/LICENSE-2.0
rem
rem Unless required by applicable law or agreed to in writing, software
rem distributed under the License is distributed on an "AS IS" BASIS,
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.

rem ---------------------------------------------------------------------------
rem Start script for the CATALINA Server
rem ---------------------------------------------------------------------------

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
rem 查看CATALINA_HOME變量
echo %CATALINA_HOME%
rem 查看當前目錄
echo %CURRENT_DIR%
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"

rem Check that target executable exists
if exist "%EXECUTABLE%" goto okExec
echo Cannot find "%EXECUTABLE%"
echo This file is needed to run this program
goto end
:okExec

rem Get remaining unshifted command line arguments and save them in the
set CMD_LINE_ARGS=
:setArgs
if ""%1""=="""" goto doneSetArgs
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
shift
goto setArgs
:doneSetArgs

call "%EXECUTABLE%" start %CMD_LINE_ARGS%

:end

通過打印變量,可以看到自己環境中的CATALINA_HOME

rem 查看CATALINA_HOME變量
echo %CATALINA_HOME%
rem 查看當前目錄
echo %CURRENT_DIR%

如上圖所示,現在出錯原因很明瞭了。我很早以前在環境變量中配過CATALINA_HOME,後來忘掉了。重新配置一下即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章