4

Jetty startup delay the startup time for a Jetty 8.1.2の質問と同様に 、WEB-INF/lib ディレクトリの依存関係の量が増えると発生します。(20mb~60~90秒)

DEBUG を有効にすると (-Dorg.eclipse.jetty.LEVEL=DEBUG、この Answer Enable Jetty DEBUGも参照)、次の行が大量に出力されます。

2012-04-27 11:13:38.095:DBUG:oeju.Scanner:scanned [/home/.../workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmpX/webapps]: {}
4

1 に答える 1

8

これは、すべてのクラスと Jar でサーブレット関連のアノテーションを検索する Servlet-API 2.5 以降の通常のプロセスです。通常、これは web.xml の「metadata-complete」オプションで回避できます。

<web-app metadata-complete="true" ...>

Jetty 8.1.2 では、これは AntionConfiguration クラスによる起動により認識されますが、いずれにせよスキャン プロセスは発生します。これは既知の問題であり、Jetty 8.1.2 の metadata-complete="true" に関係なく、クラスパスに HandlesTypes を持つ >= 1xServletContainerInitializer がある場合、Jetty 8.1.2 はクラスパス上のすべてのクラスをスキャンします

回避策は、パターンを使用して、スキャン プロセスに含まれる JAR ファイルを制限することです。たとえば、Eclipse では、次のスニペットを「jetty-context.xml」の「/home/.../workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmpX/contexts/appname」に追加できます。 .xml」ファイル:

<Call name="setAttribute">
    <Arg>org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern</Arg>
    <Arg>.*/.*myPrefixedJarToScan1-[^/]\.jar$|.*/.*myPrefixedJarToScan2-[^/]\.jar$</Arg>
</Call>
于 2012-05-02T07:19:36.757 に答える