1

こんにちは、私たちは私の会社で websphere を使用しています

Websphere のインストールには、ear1 と ear2 の 2 つの耳があります。

単一のクラスローダーのポリシーがあります

singleclassloader に設定すると、ear2 spring-oxm3.1.0.RELEASE.jar org.springframework.oxm.MarshallingFailureException class not found から class not found 例外が発生します

しかし、「複数のクラスローダー」を有効にすることで、問題は解決します。

  1. 会社が「単一のクラスローダー」を強制するポリシーを持っているのはなぜですか?
  2. クラスが ear1 と ear2 の両方で jar として定義されているため、classnotfound 例外が発生しますか?
    例 ear1:jar1 と ear2:spring-oxm3.1.0.RELEASE.jar そして X は ear1:jar1 からロードされ、それによって spring-oxm3.1.0.RELEASE.jar はロードされませんか? そして、リクエストが実行されると失敗し、MarshallingFailureException が見つからないと不平を言いますか?

クラスが見つからない理由を説明できますか?

spring-oxm3.1.0.Release.jar がロードされない原因となっている ear1 の jar を見つけるための解決策はありますか? そして、それを削除しますか?xerces または jaxb でしょうか? (Java バージョン 1.5 を実行しています)

前もって感謝します。

4

1 に答える 1

0
  • その古いバージョンのJavaでは、すべてのXML関連のjarに多くの問題がありました。
  • エラーの詳細から、クラスがロードされていない理由がわかります。ほとんどの場合、パッケージ/名前は同じですが、jarが異なるクラスです。
  • 会社のポリシーは、開発、保守、依存関係の管理など、関連するすべての要素と関係があります。
于 2013-02-27T15:09:51.330 に答える