0

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 を見つけられないところまで来ました。

4

1 に答える 1

1

答えが見つからなかったため、必要な JAR ファイルをサーバーの lib ディレクトリ (user_projects/domains/{mydomain}/lib/*.jar) に配置することにしました。動作しているように見えますが、修正の手間がかかります。まだ良いものは見つかりませんでした。

編集:この質問PRE_CLASSPATHでは、サーバー起動スクリプトの設定を含む、やや良いクラッジを投稿しましまだ大したことではありませんが、上記の解決策は私のシステムで何か他のものを壊しました。

于 2013-09-02T20:29:03.180 に答える