0

webapp1 と webapp2 の 2 つのアプリケーションがあります。どちらのアプリケーションも同じライブラリ zx.jar を使用します。今、私は瓶を2つの場所に置き/webapp1/ROOT/WEB-INF/lib/webapp2/ROOT/WEB-INF/lib

しかし、jarを2回ロードしたくありません。私は瓶を使いたい/tomcat/libですか?

これを Linux 環境に実装するにはどうすればよいですか?

4

3 に答える 3

2

ライブラリを以下の場所に置きます

•Tomcat 6 $CATALINA_HOME/lib   
•Tomcat 5 $CATALINA_HOME/common/lib

詳細情報Apache ClassLoader Howto .

于 2013-05-25T14:13:36.773 に答える
1

jartomcat lib フォルダー ( ) に入れるだけ$CATALINA_HOME/libです。

Mavenをビルド ツールとして使用している場合<scope>provided</scope>は、対応する jar の依存関係を追加するだけです。

また、ビルドにAntjarを使用している場合は、アプリケーションのビルドおよびデプロイ中に、デプロイされたアプリケーションの lib フォルダーに をコピーしないようにしてください。

于 2013-05-25T14:15:42.957 に答える
0

Tomcat 6 では、複数のサーブレット間で共有される「共通の」JAR は、$CATALINA_BASE/libまたはに配置する必要があります$CATALINA_HOME/lib。これは、Apache 6 - Classloader HOW TOドキュメントに記載されています。

ただし、次の理由により、これを行うときは注意が必要です。

  • ディレクトリ内の「共通」JARSおよびその他のファイル/ディレクトリは、lib各Webアプリケーション内のものよりも優先されます。
  • 「共通」クラスのすべての静的変数は、実際にはすべての Web アプリケーションに表示されます。
  • ある webapp から別の webapp への型の漏洩は、奇妙な問題を引き起こす可能性があります。たとえば、型キャストが予期せず失敗します。
于 2013-05-25T14:16:11.153 に答える