于那個(gè)環(huán)境變量,有帖子說是tomcat5.5與jdk1.6兼容性問題,拷貝一個(gè)tcnative-1.dll到tomcat/bin下,但我試了之后沒用。
應(yīng)該是環(huán)境問題;
你打開windows的環(huán)境變量最后是不是多了個(gè)"."
PATH中是加了一個(gè).,刪除之后可以啟動(dòng)了,但這是為什么呢?加了.之后它會(huì)尋找下一級目錄的信息, 結(jié)果沒有, 當(dāng)然出錯(cuò)了
1原因有可能是JDK1.6和tomcat5.5之間的兼容性問題,解決的辦法如下:
將JDK1.6目錄下BIN文件夾中的msvcr71.dll復(fù)制到tomcat中BIN文件夾中,這樣可以成功tomcat。
(1)看log
log文件路徑%TomcatHOME%\logs
(2)看啟動(dòng)時(shí)的控制臺(tái)信息
Windows啟動(dòng)菜單——》執(zhí)行程序——》cmd
——》cd %TOMCATHOME%\bin
——》Tomcat4的可執(zhí)行程序名(或者startup.bat)
這樣程序執(zhí)行結(jié)束的時(shí)候,還是會(huì)回到控制帶,錯(cuò)誤信息都在里面了。
1.如果雙擊startup.bat,窗口一閃而過,可以在命令行里面啟動(dòng)startup.bat;
2.如果命令行里面啟動(dòng)startup.bat情況還是這樣,就可以在bat命令后面加上pause。這樣就不會(huì)一閃而過了;
后來發(fā)現(xiàn)在tomcat目錄下有一個(gè)setclasspath.bat,在終端里執(zhí)行,查看JAVA_HOME 相關(guān)內(nèi)容發(fā)現(xiàn),原來在JAVA_HOME=C:\Program Files\Java\jdk1.6.0_03;?? 而恰恰是這個(gè)";"導(dǎo)致tomcat將java.exe的之路徑組合成C:\Program Files\Java\jdk1.6.0_03;\bin\java.exe
這兩天在做jsp的東西,總想看看發(fā)布后的效果。但總令人沮喪的是:tomcat這只破貓不好好工作。當(dāng)你啟動(dòng)它的時(shí)候,加載信息的提示界面在屏幕上停留幾秒鐘就消失了,同時(shí),tomcat的應(yīng)用程序也自動(dòng)關(guān)閉。上網(wǎng)查資料,大家有很多說法:但都對癥不對藥。嘗試了很多次,也均以失敗而告終。
????? 它到底是什么問題呢?為什么就啟動(dòng)不了呢。最后決定重裝一遍,慢慢找問題。雖然著急,但此刻也只能如此了。
????? 重裝(注意:其他必要的設(shè)置這里略去)。
????? 裝完后,哎,好使啊。
????? 再將應(yīng)用程序拖進(jìn)webapps,配置Tomcat 5.0\conf下的server.xml。 仍然不好使。
????? 嘗試http://localhost:8080/, 沒問題。
????? 最后經(jīng)仔細(xì)研究,發(fā)現(xiàn)是server.xml中的配置問題。應(yīng)該是這樣做:
假如你應(yīng)用程序所在文件夾的名字叫emp。則,在server.xml的最后,之上,應(yīng)該寫上的是:如果這個(gè)你沒寫錯(cuò)的話,應(yīng)該是差不多了。
????? 我再列舉幾條tomcat啟動(dòng)不了時(shí)網(wǎng)友的解決辦法,如果您不屬于上述問題,則可以按照這些辦法來嘗試。
1.TOMCAT啟動(dòng)時(shí)有一些顯示,但仍會(huì)自動(dòng)關(guān)閉,無法啟動(dòng).
問題解答:
?? 可能是地址被占用,運(yùn)行桌面上的"關(guān)閉TOMCAT"快捷方式,執(zhí)行完畢后再啟動(dòng)TOMCAT.
2.TOMCAT啟動(dòng)時(shí)一閃而過,無法啟動(dòng).
問題解答:
可能是端口被占用,可找到TOMCAT的安裝目錄下的SERVER.XML文件,如..\EAM2003\conf\SERVER.XML,用記事本打開此文件,查找8080,如果找到,就將8080改為8088.
3.TOMCAT能正常啟動(dòng),可見到登錄界面,但登錄不進(jìn)系統(tǒng)
問題解答:
可能是IE的設(shè)置問題,將所有設(shè)置回復(fù)成默認(rèn)設(shè)置,關(guān)閉"上網(wǎng)助手"或其他IE插件的"攔截彈出窗口"的功能.
4. 其他一些關(guān)于tomcat啟動(dòng)時(shí)的奇怪問題:
?? a.Tomcat無法從"開始"中啟動(dòng),但可以在startup.bat中啟動(dòng)
???? JDK版本過低
?? b.啟動(dòng)的時(shí)候,加載信息的提示界面在屏幕上停留幾秒鐘就消失了,同時(shí),tomcat的應(yīng)用程序也自動(dòng)關(guān)閉
???? 在server.xml的最后,/host之上,應(yīng)該寫上的是:content
?? c.TOMCAT啟動(dòng)時(shí)有一些顯示,但仍會(huì)自動(dòng)關(guān)閉,無法啟動(dòng).
?? 可能是地址被占用,運(yùn)行桌面上的"關(guān)閉TOMCAT"快捷方式,執(zhí)行完畢后再啟動(dòng)TOMCAT.?? d.TOMCAT啟動(dòng)時(shí)一閃而過,無法啟動(dòng).
???? 可能是端口被占用,可找到TOMCAT的安裝目錄下的SERVER.XML文件,如..\EAM2003\conf\SERVER.XML,用記事本打開此文件,查找8080,如果找到,就將8080改為8088.
?? e.TOMCAT能正常啟動(dòng),可見到登錄界面,但登錄不進(jìn)系統(tǒng)
可能是IE的設(shè)置問題,將所有設(shè)置回復(fù)成默認(rèn)設(shè)置,關(guān)閉"上網(wǎng)助手"或其他IE插件的"攔截彈出窗口"的功能.
?
5.解讀startup.bat文件
@echo off????? //DOS在運(yùn)行批處理時(shí),會(huì)依次執(zhí)行批處理中的每條命令,并且會(huì)在顯示器上顯示,如果你不想讓它們顯示,可以加一個(gè)“echo off”。當(dāng)然,“echo off”也是命令,它本身也會(huì)顯示,如果連這條也不顯示,就在前面加個(gè)“@”。
if "%OS%" == "Windows_NT" setlocal???? //判斷當(dāng)前系統(tǒng)是否是window系統(tǒng)
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%?????????? //設(shè)置當(dāng)前目錄
if not "%CATALINA_HOME%" == "" goto gotHome //如果設(shè)置了CATALINA_HOME環(huán)境變量 ,就直接到下面的gotHome處
set CATALINA_HOME=%CURRENT_DIR% //如果沒有設(shè)置CATALINA_HOME,就設(shè)置CATALINA_HOME為當(dāng)前目錄(其實(shí)這里她假設(shè)你進(jìn)入tomcat的安裝目錄)
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome//判斷一下catalina.bat是否找到了,找到了就直接到下面的gotHome處
cd .. //這里他是假設(shè)你開始已經(jīng)進(jìn)入到了tomcat的bin目錄,所以就退到上一級目錄
set CATALINA_HOME=%cd%//現(xiàn)在再設(shè)置CATALINA_HOME為tomcat的安裝目錄
cd %CURRENT_DIR% //這里是進(jìn)入dos的當(dāng)前目錄
: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?? //設(shè)置要執(zhí)行的文件
?
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= //這里是設(shè)置參數(shù)
:setArgs
if ""%1""=="""" goto doneSetArgs //判斷參數(shù)是否加入完成
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1 //將參數(shù)組成一行,接在后面
shift
goto setArgs
:doneSetArgs
call "%EXECUTABLE%" start %CMD_LINE_ARGS% //執(zhí)行catalina.bat,最好將這行改為:echo "%EXECUTABLE%" start %CMD_LINE_ARGS%
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
