web-dev-qa-db-ja.com

WebLogicでjarの順序を設定するにはどうすればよいですか?

私のアプリケーションでは Joda-Time 2.0を使用していますが、 WebLogic パスにはライブラリJoda-Time1.2があります。

順序を変更して、WebLogicにライブラリを使用するように指示するにはどうすればよいですか?現在、私のライブラリではなく、独自のライブラリを使用しています。 Mavenプロジェクトの依存関係をJoda-Time2.0に追加しました。

15
hudi

これを行うにはいくつかの方法があります。

  1. ドメインのbinフォルダーにあるstartWeblogic.cmd(sh)を変更し、クラスパス設定を探して、他のWebLogicjarの前に新しいjodaを追加します
  2. 上で述べたように、アプリケーションがWebアプリケーションであり、戦争内にあるライブラリを優先することを選択した場合は、weblogic.xmlを変更できます。
  3. エンタープライズアプリケーションを使用している場合は、weblogic-application.xmlで次のオプションを設定できます。

    <prefer-application-packages>
        <package-name>org.Apache.*</package-name>
        <package-name>antlr.*</package-name>
    </prefer-application-packages>
    

そして、そこにjodaのパッケージ名を設定します。

最初のオプションは、WebLogicからの奇妙な動作を引き起こす可能性があることに注意してください。

何らかの理由で、コードをXMLで機能させることができないことに注意してください。

27
Nuno Furtado

あなたのクラスはあなたの戦争に存在しているので、WEB-INF/lib、

weblogic.xml設定を使用して、WEB-INF/libクラスをserver/libのクラスよりも優先してロードするように強制できますか?

<container-descriptor>     
<prefer-web-inf-classes>true</prefer-web-inf-classes>   
</container-descriptor> 
12
JoseK