6

カスタムValveを実装し、META-INF/context.xmlを使用して構成することを検討しています。

ただし、現時点では、デプロイメント中にcontext.xmlが解析されると、Tomcat(6.0.32)がカスタムValve実装のClassNotFoundExceptionで停止します。

クラスの読み込みコンテキストの問題が発生しているという印象を受けており、それを100%理解しているとは限りません。

クラスがWEB-INF/classesファイルにあり、階層が原因でコンテキストレベルのクラスローダーがクラスを見つけることができないため、クラスが見つかりませんか?

前もって感謝します。

4

1 に答える 1

10

Valvewebappクラスローダー内からsをロードすることはできません。http://tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.htmlを見ると、使用可能なクラスローダーが表示されます。Valve個々のWebアプリケーションクラスローダーが作成される前に定義が処理されるため、Bootstrap、System、またはCommonクラスローダーのいずれかを使用する必要があります。Webアプリケーションが使用可能になる前にコンテキストを処理する必要があります。

バルブをそれ自体で瓶にパッケージし、それをフォルダーにコピーすると、$CATALINA_HOME/libすべての設定が完了します。

于 2011-05-26T12:58:29.330 に答える