tomcat無法成功打開,因爲設置catalina_home的時候在最後加了“;”符號

關於tomcat startup.bat啓動後一閃而過的問題(轉)  

2010-07-28 13:33:37|  分類: 技術 |  標籤:tomcat  bat  startup  啓動   |字號 訂閱

1.如果雙擊startup.bat,窗口一閃而過,可以在命令行裏面啓動startup.bat;
2.如果命令行裏面啓動startup.bat情況還是這樣,就可以在bat命令後面加上pause。這樣就不會一閃而過了;
3.爲何startup無法啓動??
    首先錯誤如下:
    The JAVA_HOME environment variable is not defined correctly
    This environment variable is needed to run this program
    NB: JAVA_HOME should point to a JDK not a JRE
­
    圖形界面檢查JAVA_HOME=C:\Program Files\Java\jdk1.6.0_03;  沒看出什麼問題
終端檢查  echo %JAVA_HOME% 顯示爲C:\Program Files\Java\jdk1.6.0_03 沒什麼問題(其實結果是不一樣的哦)
再加上jdk、netbeans、eclipse都運行正常(這些都使用同一個jdk,因此我認爲JAVA_HOME肯定沒有問題)
    後來發現在tomcat目錄下有一個setclasspath.bat,在終端裏執行,查看JAVA_HOME 相關內容發現,原來在JAVA_HOME=C:\Program Files\Java\jdk1.6.0_03;  而恰恰是這個";"導致tomcat將java.exe的之路徑組合成
C:\Program Files\Java\jdk1.6.0_03;\bin\java.exe
­
4. 其他一些關於tomcat啓動時的奇怪問題:
   a.Tomcat無法從"開始"中啓動,但可以在startup.bat中啓動
     JDK版本過低
   b.啓動的時候,加載信息的提示界面在屏幕上停留幾秒鐘就消失了,同時,tomcat的應用程序也自動關閉
     在server.xml的最後,/host之上,應該寫上的是:content
   c.TOMCAT啓動時有一些顯示,但仍會自動關閉,無法啓動.
    可能是地址被佔用,運行桌面上的"關閉TOMCAT"快捷方式,執行完畢後再啓動TOMCAT.   d.TOMCAT啓動時一閃而過,無法啓動.
     可能是端口被佔用,可找到TOMCAT的安裝目錄下的SERVER.XML文件,如..\EAM2003\conf\SERVER.XML,用記事本打開此文件,查找8080,如果找到,就將8080改爲8088.
   e.TOMCAT能正常啓動,可見到登錄界面,但登錄不進系統
   可能是IE的設置問題,將所有設置回覆成默認設置,關閉"上網助手"或其他IE插件的"攔截彈出窗口"的功能.
­
5.解讀startup.bat文件
@echo off                                           //DOS在運行批處理時,會依次執行批處理中的每條命令,並且會在顯示器上顯示,如果你不想讓它們顯示,可以加一個“echo off”。當然,“echo off”也是命令,它本身也會顯示,如果連這條也不顯示,就在前面加個“@”。
if "%OS%" == "Windows_NT" setlocal    //判斷當前系統是否是window系統
rem ---------------------------------------------------------------------------  //rem 是註釋(下同)
rem Start script for the CATALINA Server
rem
rem $Id: startup.bat 302918 2004-05-27 18:25:11Z yoavs $
rem ---------------------------------------------------------------------------
­
rem Guess CATALINA_HOME if not defined
set CURRENT_DIR=%cd%          //設置當前目錄
if not "%CATALINA_HOME%" == "" goto gotHome //如果設置了CATALINA_HOME環境變量 ,就直接到下面的gotHome處
set CATALINA_HOME=%CURRENT_DIR% //如果沒有設置CATALINA_HOME,就設置CATALINA_HOME爲當前目錄(其實這裏她假設你進入tomcat的安裝目錄)
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome//判斷一下catalina.bat是否找到了,找到了就直接到下面的gotHome處
cd .. //這裏他是假設你開始已經進入到了tomcat的bin目錄,所以就退到上一級目錄
set CATALINA_HOME=%cd%//現在再設置CATALINA_HOME爲tomcat的安裝目錄
cd %CURRENT_DIR% //這裏是進入dos的當前目錄
:gotHome
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome  //再次判斷catalina.bat是否找到了,找到了就直接到下面的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 //再次判斷catalina.bat是否找到了,找到了就直接到下面的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% //執行catalina.bat,最好將這行改爲:echo "%EXECUTABLE%" start %CMD_LINE_ARGS%       以便閱讀、理解本文件的作用

-------------------------------------------------------------------------------------------------------------------------------------------------------------

一直以來我的tomcat都可以在eclipse中啓動,但是直接啓動就不行,在cmd中顯示找不到catalina_home,但是我明明設置了,今天正好有

空,找找原因,看到上面轉帖中的startup.bat中的代碼解釋,終於發現 原來我在設置catalina_home的時候在最後加了“;”符號,導致路徑

不對,把符號去掉,從新啓動tomcat,OK。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章