1

同じ共有ライブラリの2つの異なるバージョンを同じweblogicサーバーにデプロイしようとすると問題が発生します。

これが私の目標です:

  • 共有ライブラリを参照する複数のアプリケーションがあります。
  • これらのアプリケーションは、この共有ライブラリの異なる実装バージョンを使用できる必要があります(非常に良い世界で)。
  • したがって、この共有ライブラリの複数のバージョンをデプロイしたいと思います(たとえば、AppBはバージョン1.0.0を使用し、AppAは1.0.1を使用します)。

私はそれが可能だと思います(知っていますか?)(weblogic試験で、同じ共有ライブラリの複数のバージョンを同時にデプロイしてアクティブにできることを確認しました)が、今まで失敗しました...

Weblogicは、2つの共有ライブラリが同じ名前を持っているという事実に不満を持っています...しかし、この「同じ名前」は、これらの共有ライブラリを使用するために私のアプリケーションで必要です...

私のMETA-INFファイルは次のとおりです。

Extension-Name: app-local-services-ejb
Implementation-Version: 2.0.2-SNAPSHOT
Specification-Version: 2.0

Extension-Name: app-local-services-ejb
Implementation-Version: 2.0.1-SNAPSHOT
Specification-Version: 2.0

アプリケーション用のweblogic-applicationファイルは、web-infの拡張子名と仕様バージョンのみを使用します。

2つの異なるバージョンのJSFで同じことをしようとしましたが、同じ問題が発生します。共有ライブラリに関するOracleのドキュメントはあまり明確ではなく、goole/bingで役立つものは見つかりませんでした。

これらの共有ライブラリを特定のフォルダ(例:weblogic / commom / deployable-libraries)にアップロードする必要があるのか​​、それともWEB-INF /weblogic-application.xmlファイルで何かを指定する必要があるのか​​わかりません。

誰かがこの問題を解決するアイデアを持っていますか?

4

2 に答える 2

2

アプリケーションを 2 つの .ear/.war ファイルに分割し、それぞれに使用する必要がある独自のバージョンのライブラリを用意できますか? これは、この問題を回避する最も簡単な方法のようです。

于 2013-03-22T15:13:53.287 に答える
1

WLS で同時に使用できるのは、同じ仕様バージョンのライブラリの 1 つのバージョンのみです。

新しい実装バージョンをアップするには、新しいバージョンをデプロイするのではなく、既存のデプロイメントを新しい jar で更新する必要があります。これにより、WLS で解決できる場合は、番号の小さい実装バージョンが削除されます。

これが、仕様バージョンと実装バージョンを浮動小数点数にすることをお勧めする理由です。浮動小数点数にキャストできる場合、WLS ではどちらのバージョンが他のバージョンよりも高いかを簡単に判断できるからです。

ただし、仕様番号が異なるライブラリがある場合は、他の仕様番号と同時にアップロードできます。繰り返しになりますが、WLS がバージョン番号を特定できれば、weblogic-application.xml に正確なバージョンが設定されていなければ、アプリを新しいバージョンに自動的に移行できます。

于 2013-10-11T06:57:50.393 に答える