程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Tomcat無法啟動問題解決方案

Tomcat無法啟動問題解決方案

編輯:關於JAVA
 

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% 以便閱讀、理解本文件的作用
 

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved