天天看點

tomcat出現unable to process deployment descriptor for context 'null'警告

關于unable to process deployment descriptor for context ‘null’警告

問題描述

在tomcat6.0.20版本以上,設定虛拟路徑之後或者在webapps檔案夾中添加應用之後,啟動tomcat如果出現以下警告,截圖如下:

tomcat出現unable to process deployment descriptor for context 'null'警告

外話:tomcat設定虛拟路徑有兩種方式。

第一種:修改安裝路徑下的conf檔案夾中的server.xml檔案,在如下

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
      </Host>
           

Host節點之間加入如下語句:

上面配置語句的作用即可将D盤的TDpng檔案夾設定成了虛拟路徑,/test是通路路徑,通過http://localhost:8080/test通路即可看到該檔案夾中内容的清單。如果希望在浏覽器中顯示清單,将conf檔案夾中的web.xml檔案中的

<servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value></param-value>
        </init-param>
        <init-param>
            <param-name>listings</param-name>
            <param-value>true</param-value>
        </init-param>
        <load-on-startup></load-on-startup>
    </servlet>
           

第十句中的預設false改完true,這樣在通路時浏覽器中就可以顯示所有檔案清單。

第二種:在安裝路徑conf/Catalina/localhost路徑下建立一個.xml檔案,例如test.xml,編輯檔案内容如下:

<?xml version="1.0" encoding="UTF-8"?> 
<Context docBase="D:\TDpng\" 
    reloadable="true"> 
</Context> 
           

即可實作和方法一同樣的效果,檔案名test效果等同于方法一種配置的/test,設定支援檔案清單,用方法一中同樣的路徑可以通路到該檔案夾中的所有檔案。

但是發現用如上方法配置完虛拟路徑之後,每次啟動tomcat都會出現上述圖中的警告:

Unable to process deployment descriptor for context ‘null’

雖然隻是個警告,完全不影響正常功能,但是對于強迫症患者,完全不能忍受。

解決辦法

tomcat出現上面提到的警告時大部分情況都是因為沒有找到對應的web應用的架構檔案web.xml,每一個虛拟路徑和webapps檔案夾下面的應用一樣,會被容器識别為一個web應用,tomcat規定每一個web應用都有一個WEB-INF檔案夾,并且其中存放一個web.xml檔案來表明該應用的架構。是以隻需要在該虛拟路徑下建立一個名為WEB-INF的檔案夾,并在檔案夾中建立一個web.xml檔案即可,如果嫌麻煩,可以直接在webapp檔案夾中的ROOT檔案夾或者manager檔案夾中直接将WEB-INF檔案夾複制過去即可,再次啟動tomcat,即可發現警告消失。

繼續閱讀