2012-04-12 7 views
1

"webapps"フォルダの下に2つのWebアプリケーションがあるとします。 "abc"と "xyz"。アプリケーションごとに異なるクラスパスフォルダを定義する方法はありますか? Tomcatでは、 "abc.classpath = Directory_A; xyz.classpath = Directory_B"のようなものがgreateになります。事前にTomcatでアプリケーション固有のクラスパスを定義する方法は?

おかげで...

+0

クラスパスのみをDirectory_Aにしたいのですが、それ以外は何もしませんか? –

答えて

3

あなたのアプリケーションはすべて、TOMCAT_HOME/libに内容をロードします。あなたのWebアプリケーションのそれぞれは、それ自身のWEB-INF/lib & WEB-INF/classesフォルダにあるものを読み込みます。私は方法を見つけ

+0

http://tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.htmlを参照してください。 – MartinK

+0

はい、あなたは正しいですが、私の戦争ファイルにはサードパーティ製のすべてのジャーが入っていないようにしたいので、それらをWEB-INF/libディレクトリに入れたい。もう一つの解決策はありますか? – user1153321

+0

あなたの3Dパーティージャーが必要です。あなたがwebappsの間でそれらを共有したいなら、tomcat/libに入れることができますが、それは価値があるよりも面倒です。バージョンが同期していなければ、問題が発生します。必要に応じてJVMがロードする必要があるため、他の場所に置くことでメモリを節約するつもりはありません。そして、あなたはそれをより移転可能にするつもりはありません - とにかく戦争をそのまま3Dパーティージャーナルに移して、どの展開環境でも同じように実行したいと思うでしょう。みんなのように戦争に参加させて、それについて心配しないでください。 –

0

...

私expoloded Webアプリケーションの名前は "ABC" です。私は、 "$のCATALINA_BASE/confに/カタリナ/ localhostの/ abc.xml" ファイルを作成し、

<Context className="org.apache.catalina.core.StandardContext"> 
    <Loader className="org.apache.catalina.loader.VirtualWebappLoader" 
      virtualClasspath="/externalClasspath/*.jar"/> 
</Context> 

を定義し、この問題についての任意のアイデアはありますか?それは機能しなかったので。