2012-10-04 34 views
1

我一直有很多麻煩,試圖讓我們的應用程序從tomcat5移動到tomcat7。我終於發現這個日誌給了我一個線索,但它非常含糊。這就是說:Tomcat7無法加載server.xml

+ /usr/java/bin/java -Dnop -Dfile.encoding=UTF-8 -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xmx1g -Xms256m -Djava.endorsed.dirs=/usr/local/apache-tomcat-7.0.30/endorsed -classpath /usr/local/apache-tomcat-7.0.30/bin/bootstrap.jar:/usr/local/apache-tomcat-7.0.30/bin/tomcat-juli.jar -Dcatalina.base=/software/tomcat-sbox7 -Dcatalina.home=/usr/local/apache-tomcat-7.0.30 -Djava.io.tmpdir=/software/tomcat-sbox7/temp org.apache.catalina.startup.Bootstrap start 
Oct 4, 2012 2:13:10 PM org.apache.catalina.startup.Catalina initDirs 
SEVERE: Cannot find specified temporary folder at /software/tomcat-sbox7/temp 
Oct 4, 2012 2:13:10 PM org.apache.catalina.startup.Catalina load 
WARNING: Unable to load server configuration from [/software/tomcat-sbox7/conf/server.xml] 
Oct 4, 2012 2:13:10 PM org.apache.catalina.startup.Catalina initDirs 
SEVERE: Cannot find specified temporary folder at /software/tomcat-sbox7/temp 
Oct 4, 2012 2:13:10 PM org.apache.catalina.startup.Catalina load 
WARNING: Unable to load server configuration from [/software/tomcat-sbox7/conf/server.xml] 
Oct 4, 2012 2:13:10 PM org.apache.catalina.startup.Catalina start 
SEVERE: Cannot start server. Server instance is not configured. 

我不知道爲什麼這些東西無法加載。有沒有一個地方可以找到一個更全面的日誌,或者你有一些想法,我可以嘗試使這項工作?

回答

1

原來在應用程序的catalina.properties的common.loader是:

common.loader=${catalina.home}/lib 

它需要的是:

common.loader=${catalina.home}/lib,${catalina.home}/lib/*.jar 
0

最好的選擇是$ CATALINA_HOME/logs中的默認日誌,默認名稱爲catalina.out。如果你轉到Tomcat的conf目錄,並編輯server.xml,你可以啓用Valve配置打印訪問日誌,但這不會在這裏專門爲你提供幫助。

這裏的錯誤(在猜測)似乎是期待在/ software/tomcat-sbox7/temp中的那些目錄的tomcat配置(從第一行)存在,他們不在那裏?這是一個託管的Tomcat實例嗎?

0

此類問題往往不是在與Linux相關的權限。特別是當你看到線說 -

'SEVERE: Cannot find specified temporary folder at /software/tomcat-sbox7/temp'

,你確信這個目錄存在。

您可能想要檢查使用哪個Linux用戶啓動Tomcat JVM。嘗試以特定用戶身份登錄並嘗試訪問此特定目錄。就我而言,這是問題所在。更正了此權限問題並解決了問題!

0

我覺得這很不尋常,因爲它沒有正確解釋,而且它在使用很多。我的選擇是去與Linux的安裝,然後開始標準化,具有服務命令:

service tomcat7 start 

如果你看到在此之後的命令,你會看到有一個詳細的java應用程序開始在操作系統級別了很多的參數,更具體的代理,主機名,路徑等。我發現這比運行catalina.sh運行更合適,在哪裏可以防止你的目錄出現問題,你需要爲目錄,路徑等添加交換參數

這種方法還可以防止問題confate,管理和臨時目錄。