1

私は Linux に Tomcat 5 をインストールしており、Web アプリケーションをデプロイして何年も快適に運用しています。私は今、新しい webapp をデプロイしようとしています。この war は Maven を使用して作成されており、問題ないように見えますが、catalna ログにエラーがあり、適切にデプロイできません。

それは不平を言う:

 java.io.IOException: java.io.FileNotFoundException: 
 /home/jthink/jakarta-tomcat-5.0.27/conf/Catalina/localhost/widget.xml
 (Is a directory)

これは本当です。widget.xmlディレクトリです。しかし、私はこのファイルを作成したわけではなく、どこから来たのかわかりません

私の戦争には、次のファイル構造が含まれています。

.:
META-INF
WEB-INF

./META-INF:
context.xml
MANIFEST.MF
maven

./WEB-INF:
classes
lib
web.xml

私はそれで奇妙なものを見ません

これが完全なスタックトレースです

java.io.IOException: java.io.FileNotFoundException: /home/jthink/jakarta-tomcat-5.0.27/conf/Catalina/localhost/widget.xml (Is a directory)
        at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:494)
        at org.apache.catalina.core.StandardHost.install(StandardHost.java:863)
        at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:482)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:427)
        at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1068)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:327)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
        at org.apache.catalina.core.StandardHost.backgroundProcess(StandardHost.java:800)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1619)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1628)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1608)
        at java.lang.Thread.run(Thread.java:619)

回避策

jakarta-tomcat-5.0.27/conf/Catalina/localhost/widget.xml は、ディレクトリではなく、widget.wars META-INF/context.xml ファイルのコピーである必要があります。ディレクトリとして作成されている理由はわかりませんが、手動で削除してから context.xml をコピーし、widget.xml として名前を変更すると問題が解決します。

開発者にバグを報告しましたhttps://issues.apache.org/bugzilla/show_bug.cgi?id=53864しかし、Tomcat のバージョンが古すぎるため、wont-fix を閉じました。問題が解決するかどうかを確認して、アップグレードする必要があると思います。

4

1 に答える 1

0

これの根底には到達しませんでしたが、解決策はTomcat 7にアップグレードすることでしたが、Tomcat5がどれほど古くなっているかはわかりませんでした。

于 2012-09-21T05:54:46.583 に答える