2

クラスローダーの問題と、wsdl4j との特定の非互換性のために、WAS 6.1 への展開に失敗する war ファイル (実際には私自身のものではありません。Apache ODE 1.2 です) があります。ODE のクラスローダーを手動で編集し、wsdl4j1.6.1 の共有ライブラリを作成すると、問題ありません。

しかし、クライアントは、これは受け入れられず、手動の手順を必要としない自己完結型のインストールである耳を提供する必要があると述べてきました.

war をバンドルする ear ファイルをビルドすることができましたが、ear 内に共有ライブラリを含める方法に関する関連情報を見つけることができず、それをクラスローダーの開始時に使用しました (優先する必要がありますWAS にバンドルされている wsdl4j)。ear ファイル構造を変更する必要がありますか? それともapplication.xmlですか?

誰でも助けを提供できますか?ご想像のとおり、私は「Tomcat には war ファイルが必要」というバックグラウンドから来ており、ear ファイルを理解するのに苦労しています。

私のapplication.xmlには次のものが含まれています:http://java.sun.com/xml/ns/j2ee/application_1_4.xsd"> XXX ODE ode.war odeなど

4

1 に答える 1

1

これを達成するための 3 つの簡単なステップがあります。

  1. jar ファイルを ear に配置します。通常は lib ディレクトリを作成しますが、これは必須ではありません。
  2. 戦争のマニフェストを更新して、この jar ファイルを含めます。
  3. ear のクラスローディング ポリシーを PARENT_LAST に設定します。これは、サーバーによってロードされる前にローカル (耳に) クラスをロードするために必要です。

編集:代わりに、EARを使用してWARをラップするだけで、実際にはjarファイルを共有していないためです。

  1. jar を WAR の lib ディレクトリに配置します。
  2. ear のクラスローディング ポリシーを PARENT_LAST に設定します。これは、サーバーによってロードされる前にローカル (耳に) クラスをロードするために必要です。application.xml ファイルを編集して、RAD 経由でこれを行います。これは IBM 固有の構成であるため、RAD を使用していない場合は、どのファイルを手動で変更するかを決定する必要があります。

これにより、アプリサーバー間で一貫した戦争が発生するはずです.

于 2009-03-27T17:49:41.300 に答える