4

以前にローカルTomcat(6.0.35)インスタンスにWARをデプロイしていたappdata.warので、webappsディレクトリは次のようになりました。

webapps/
    docs/
    examples/
    host-manager/
    manager/
    appdata/ (exploded WAR)
    ROOT/
    appdata.war

(Tomcatが再デプロイを試みないように)削除appdata/してから、このディレクトリにappdata.war新しいwar()を追加しました。appmon-qa.war次に、Tomcat起動スクリプトを実行し、「古い」appdataWARを参照するデプロイメントエラーを確認しました。私はあちこち見て、その名前のフォルダがにあるのを見て、${TOMCAT.HOME}/work/Catalina/localhost/appdataそれを削除しました(ここでも、Tomcatが再デプロイするのを防ぐためです)。次に、起動スクリプトを再実行すると、カタリナログに次のように表示されます。

SEVERE: Error starting static Resources
java.lang.IllegalArgumentException: Document base C:\Program Files\Apache\apache-tomcat-6.0.35\webapps\appdata does not exist or is not a readable directory
    at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:        
    at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4320)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4489)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
    ...rest of stacktrace omitted for brevity
Jun 7, 2012 11:35:27 AM org.apache.catalina.core.StandardContext start
SEVERE: Error in resourceStart()
Jun 7, 2012 11:35:27 AM org.apache.catalina.core.StandardContext start
SEVERE: Error getConfigured
Jun 7, 2012 11:35:27 AM org.apache.catalina.core.StandardContext start
SEVERE: Context [/appdata] startup failed due to previous errors
Jun 7, 2012 11:35:27 AM org.apache.catalina.core.StandardContext stop
INFO: Container org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/appdata] has not been started
Jun 7, 2012 11:35:27 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive appmon-qa.war
Jun 7, 2012 11:35:28 AM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
Jun 7, 2012 11:35:28 AM org.apache.catalina.core.StandardContext start
SEVERE: Context [/appmon-qa] startup failed due to previous errors

この古いアプリへのゴースト参照が原因で、完全に作成されたアプリのデプロイappmon-qa.warに失敗していると思いappdata.warます。もしそうなら、Tomcatから完全にアンデプロイまたは削除して、新しいアプリに問題が発生しないようにしますか?

それ以外の場合、このログ出力がappmon-qa.warそれ自体に問題があることを示している場合、どこからデバッグを開始しますか?通常、これらの「以前のエラーが原因で失敗した」出力には、エラーの理由または原因も含まれます。この出力はかなり説明的でなく、曖昧です。前もって感謝します!

4

2 に答える 2

7

見て${TOMCAT.HOME}/conf/Catalina/localhost/appdata.xml、存在する場合は削除してください。

于 2012-06-07T15:57:13.710 に答える
0

これと同じエラーが発生しました(ドキュメントベース...が存在しないか、読み取り可能なディレクトリではありません)。簡単な解決策は、既存のTomcatの上にTomcatを再インストールすることでした(すでに存在するため、「サービスをインストールできません」という警告は無視してください)。

于 2013-12-24T15:03:51.850 に答える