2011-09-12 11 views
1

warファイルに詰め込まれていないライブラリを使用することができますか?私はライブラリを持つファイルシステム上のディレクトリを持っていて、展開されたwarファイルはこのディレクトリからライブラリをロードします。私はどのようにこれを行うには、例が見つかりませんでした。だから私は、展開された戦争が使用されているすべてのライブラリをWARファイルのlibディレクトリにパックするかどうかを尋ねたいと思います。EARダイナミックライブラリ

+0

どのアプリケーションサーバーを使用していますか? – Kal

+0

ライブラリをEARに直接置くことも、 'tomcat/lib'のような共有クラスパスを使うこともできます。 – home

+0

@Kal私はWebSphereを使用しています。 耳の外の戦争にクラスパスを入れるチャンスがないので、アプリケーションサーバーで共有クラスパスを設定することができますか? – HPCS

答えて

4

あなたのアプリケーションサーバーによっては、ローカルパスをクラスパスの一部として宣言する設定(アプリケーションサーバー)を追加することができます。この方法では、そのディレクトリに置かれたjarファイルは、そのアプリケーションサーバー内のデプロイされたアプリケーション(戦争)で使用できるようになります。あなたは[tomcatDIr] \ confに\のcatalina.propertiesを編集し、server.loaderプロパティに追加し、外部のライブラリを維持したいディレクトリのフルパスをshared.loader Tomcatの

ここではいくつかの簡単な例です

server.loader = $ {catalina.home} /サーバ/クラス、$ {catalina.home} /サーバ/ LIB/*ジャー、C:/ BLA/myExternalLibsDir

shared.loader = $ { catalina.home}/server/classes、$ {catalina.home}/server/lib/*。jar、c:/ bla/myExternalLibsDir

JBossの場合、あなたは、単にJBossのクラスパスを設定する行を探し、\ binに[jbossDir]で見つかったrun.batファイルを編集し、それは価値があなたのディレクトリだに追加できます。

セットJBOSS_CLASSPATH =%RUN_CLASSPATH% ; c:/ bla/myExternalLibsDir