2016-11-25 5 views
0

一般的なwebappclassloaderを使用して、tomcatのすべてのWebappのwebappクラスローダをカスタマイズする方法はありますか?すべてのwebappsのwebappクラスローダをカスタマイズするには

クラスローダーを拡張して各webappのコンテキストタグに追加できることがわかりましたが、これをすべてのWebアプリケーションの共通クラスローダーとして配置する方法と、このクラスローダー.classファイルを配置する場所です?

おかげ

+0

共通クラスローダーをTomcatで拡張する方法はありますか? – Lokn

答えて

1

あなたは$CATALINA_HOME/libでカスタムクラスローダを配置することができます。

package test.loader; 
import org.apache.catalina.loader.WebappLoader; 
public class MyWebappLoader extends WebappLoader { 
    public MyWebappLoader() { 
     System.err.println("!! create MyWebappLoader !!"); 
    } 
    public MyWebappLoader(ClassLoader parent) { 
     super(parent); 
     System.err.println("!! create MyWebappLoader !!"); 
    } 
} 

詳細については、あなたはTomcat document - The Loader Componentを読むことができます:

は、便利なソリューションは、サンプルコードはここ $CATALINA_HOME/conf/context.xml

<?xml version='1.0' encoding='utf-8'?> 
<Context> 
    <Loader className="test.loader.MyWebappLoader" /><!-- add this element --> 
</Context> 

を変更している、すべてのWebアプリケーションのデフォルトのローダーを交換します。 Tomcat 7〜9で動作します。

+0

ありがとう、もう一つ質問があります。すべてのwebappsのすべての共通jarをロードする共通クラスローダーを拡張またはカスタマイズする方法はありますか? – Lokn

+0

共通クラスローダーのカスタマイズ方法がわかりません。特別な要件はありますか? –

関連する問題