私が直面している問題を要約すると、ライブラリのバージョン A を使用する EJB があります (これを dep-vA.jar と呼びましょう)。dep-vA.jar は、EJB の jar ファイルのルートにパッケージ化されています。アプリケーション サーバーのドメイン lib フォルダーには、同じライブラリのバージョン B が含まれています (dep-vB.jar と呼びましょう)。EJB を呼び出すと、dep-vA.jar ではなく dep-vB.jar ファイルがロードされているためにエラーが発生します。
この質問の最初の部分は、Sun One Application Server v9.1 は EJB を相互に分離するかということだと思います。私はそうであるという印象を受けました。しかし、別のアプリケーションが dep-vB.jar をロードしたようで、この EJB はそれ自体をロードせずに直接使用しています。
2 番目の質問は、アプリケーション サーバーが EJB を分離する場合、アプリケーション サーバーの lib フォルダを調べる前に、EJB の jar ファイルから依存関係をロードするかどうかです。これもまた真実だろうという印象を受けましたが、そうではないかもしれません...
dep-vA.jar ではなく dep-vB.jar が読み込まれる理由を説明できる Sun アプリケーション サーバーに詳しい人はいますか? アプリケーションサーバーの lib フォルダーの内容を変更せずに dep-vA.jar をロードする方法はありますか? (サーバー上の他のアプリケーションに影響を与える可能性のあることは何でもすることを躊躇します)
ありがとう。