1

私はこのシナリオを持っています:

  1. //Tomcat7/webapps/app1/WEB-INF/classes/a/b/c/A.class
  2. //Tomcat7/webapps/app1/WEB-INF/classes/a/b/c/B.class
  3. //Tomcat7/webapps/app2/WEB-INF/classes/a/b/c/B.class (クラスは異なるが<2>と同じ名前)
  4. //Tomcat7/webapps/app2/WEB-INF/classes/a/b/c/C.class

注: クラス ディレクトリの階層は同じで、クラス ファイルが異なるだけです。

app1 のログ ファイルには、 A.class の NoClassDefFoundError が含まれています。ディレクトリを確認したところ、クラスファイルは間違いなくそこにあります。今、ClassLoader が A.class ではなく B.class のみをロードした可能性があるかどうかを調べようとしていますが、webapps ごとに ClassLoader が必要です。つまり、2 つの ClassLoader を意味しますか?

これがどのように機能するかについてのアイデアはありますか?

編集: Tomcat7 は Tanuki JWS 経由で起動されます。wrapper.log から、app2 が最初に初期化され、次に app1 のみが初期化されていることがわかります。

よろしく、 アラン

4

1 に答える 1

0

この問題は、Tomcat7 の再起動後に解決されました。根本原因を特定できません。

于 2014-06-20T12:28:25.023 に答える