1

Servlet 3.0 イニシャライザをスキャンする組み込み Tomcat サーバーの簡単な方法を次に示します。

public static void main(String[] args) throws ServletException, LifecycleException {
    Tomcat tomcat = new Tomcat();
    tomcat.setPort(8080);

    StandardContext ctx = (StandardContext) tomcat.addWebapp("/", new File("web").getAbsolutePath());

    //declare an alternate location for your "WEB-INF/classes" dir:     
    File additionWebInfClasses = new File("target/classes");
    VirtualDirContext resources = new VirtualDirContext();
    resources.setExtraResourcePaths("/WEB-INF/classes=" + additionWebInfClasses);
    ctx.setResources(resources);

    tomcat.start();
    System.out.println("Started");
    tomcat.getServer().await();
}

tomcat.util.scan.DefaultJarScanner.jarsToSkipのプロパティをcatalina.properties使用すると、スキャンする jar を制限して展開時間を短縮できることを知っています。この同じアイデアを、ここに埋め込まれた Tomcat コードに組み込むにはどうすればよいでしょうか?

ボーナス:どの jar をスキップする代わりに、どのjar を含めるかを指定する方法はありますか?

4

3 に答える 3

0

以下は推測であり、仕様を読むだけです。独自の META-INF/web.xml で web-fragment を使用し、metadata-complete=true で注釈スキャンを通知しないこともできます。

于 2013-07-12T15:01:29.933 に答える