2014-03-06 21 views
0

我在Amazon EC2實例上有一個Tomcat應用程序/var/lib/tomcat7/webapps/ROOT。它一直運行良好,直到今天,當我在啓動服務器時開始在catalina.out日誌中收到錯誤。文件庫/ usr/share/tomcat7/webapps/ROOT不存在或不可讀目錄

當在網絡瀏覽器中訪問頁面時,每個頁面都是空白的(即使是不存在的頁面),favicon顯示並且沒有錯誤。

我相信這是從我的本地機器執行rsync --delete -zav/var/lib/tomcat7/webapps/ROOT後開始發生的,雖然我確定沒有重要的文件被刪除。

SEVERE: Error starting static Resources 
java.lang.IllegalArgumentException: Document base /usr/share/tomcat7/webapps/ROOT does not exist or is not a readable directory 
    at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:138) 
    at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:5055) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5235) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) 
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1120) 
    at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1678) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:744) 

奇怪的是,/usr/share/tomcat7/webapps/是一個符號鏈接/var/lib/tomcat7/webapps,所以應用程序在那個位置肯定存在。爲什麼會出現這種錯誤,以及如何修復?

回答

1

有可能rsync已更改您的webapp文件的所有權或權限(因爲a開關)。確保運行Tomcat進程的用戶可以讀取目錄和文件。

相關問題