Weblogic で展開された ear デプロイメント レイアウトを使用してアプリを開発していますが、この古いアプリに新しいプロジェクトを追加した後、デプロイされなくなり、WEB/WEB-INF から実際のアプリケーション コードを読み込もうとすると ClassNotFoundException がスローされます。 /クラス。
ディレクトリ ツリーは次のようになります。
my_run | | ----EJB | | ----メタINF | | - - ウェブ | | メタINF | | WEB-INF | | クラス | | ライブラリ
私がこれに着手する前に、私の同僚は必要なすべての jar ライブラリを WEB/WEB-INF/lib ディレクトリに正常にデプロイし、Weblogic ドメインの lib ディレクトリにもコピーしていました。EJB は EJB2.0 レガシーのものであるため、複雑さを引き起こしていると考えました。
この方法は今では機能せず、サーバーまたはアプリだけを起動したときに Hibernate をロードできなかったというエラーが表示されます。次に、Weblogic ドメイン lib の Hibernate で試してみましたが、Spring をロードできませんでした。
私は今日 8 時間かけてこの問題をグーグルで調べ、非常に奇妙な xml 関連のクラス キャストの問題を引き起こした weblogic jar prefs xml エントリを含め、Weblogic で実行できるほとんどすべてを読んで試しました。
私はそれを基本に減らし、JDBC jarとWeblogicセキュリティなどに必要なものを除くすべてのweblogicドメインlibを空にしようとしましたが、解決策を見つけることができませんでした.
application.xml で使用してみましたが、うまくいきませんでした。
Class-Path エントリを MANIFEST.MF に入れてみましたが、結果は同じでした。
確かにこれはそれほど複雑ではありませんか?
私は今、WEB-INF/lib dir と Weblogic ドメイン lib の両方に必要なすべての jar があり、アプリが独自の Hibernate pojo を見つけられないところまで来ました。