1

Spring WebApplicationInitializer を使用するだけで、web.xml なしで Servlet 3.0 を使用しています。Eclipse で Run-Jetty-Run を使用して Web アプリケーションを開始すると、JARScanning はすべての jar で HandlesTypes 注釈を見つけようとするため、約 40 秒かかります。

したがって、WebInfIncludeJarPattern を jetty-web.xml に設定して (jetty-context.xml も試しました)、http://wiki.eclipse.org/Jetty で説明されているように webapp/WEB-INF フォルダーに配置しようとしました。 /Howto/Avoid_slow_deployment . また、metadata-complete="true" を設定します。jetty-web.xml ファイルの内容は次のとおりです。

<Configure class="org.eclipse.jetty.webapp.WebAppContext">
    <Call name="setAttribute">
      <Arg>org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern</Arg>
      <Arg>.*/.*foo-api-[^/]\.jar$|./.*bar-[^/]\.jar$|./.*wibble[^/]*\.jar$</Arg>
    </Call>
</Configure>

ただし、JarScanner は引き続きすべての JAR ファイルをスキャンします。私が見ることができるデバッグ出力では、すべての JARScanning が完了した後に jetty-web.xml ファイルが解析されることがわかります。

出力:

2013-08-30 09:09:52.836:DBUG:oejw.WebAppContext:preConfigure o.e.j.w.WebAppContext{/admin2,[file:/C:/....../src/main/webapp/]} with runjettyrun.webapp.RJRWebInfConfiguration@1cdc4a5
......
2013-08-30 09:09:52.979:DBUG:oejw.WebAppContext:preConfigure o.e.j.w.WebAppContext{/admin2,[file:/C:/..../src/main/webapp/]} with org.eclipse.jetty.webapp.WebXmlConfiguration@136f39e
2013-08-30 09:09:53.076:DBUG:oejw.WebDescriptor:file:/C:/......../src/main/webapp/WEB-INF/web.xml: Calculated metadatacomplete = True with version=3.0
2013-08-30 09:09:53.076:DBUG:oejw.WebAppContext:preConfigure o.e.j.w.WebAppContext{/admin2,[file:/C:/....../src/main/webapp/]} with runjettyrun.webapp.RJRMetaInfoConfiguration@164de63
... <LOTS OF JARSCANNING>
2013-08-30 09:10:36.677:DBUG:oejw.JarScanner:Search of file:/C:/......./httpclient-cache-4.1.2.jar
2013-08-30 09:10:36.710:DBUG:oejw.WebAppContext:configure o.e.j.w.WebAppContext{/.................} with org.eclipse.jetty.webapp.JettyWebXmlConfiguration@803365
2013-08-30 09:10:36.711:DBUG:oejw.JettyWebXmlConfiguration:Configuring web-jetty.xml
2013-08-30 09:10:36.715:DBUG:oejw.JettyWebXmlConfiguration:Configure: file:/C:/......./src/main/webapp/WEB-INF/jetty-web.xml

RJR に jetty-web.xml を先に取得させ、そこで指定されたファイルのみをスキャンさせるにはどうすればよいですか? または、RJR でスキャンする JARS を指定する他の方法はありますか?

私は次のバージョンを使用しています:

Windows: 64 ビット

ありがとうございました

4

2 に答える 2

6

Servlet 3.x で Jetty 8 を高速化するための回避策を次に示します。

  1. ファイル (jetty.xml) を作成します。
  2. RJR 構成を開く
  3. 「高度なオプションを表示」をクリックします
  4. 追加の Jetty.xml:

ファイル (jetty.xml) には次の行が含まれている必要があります。

<Configure id="Server" class="org.eclipse.jetty.server.Server">
  <Get name="handler">
    <Call name="setAttribute">
      <Arg>org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern</Arg>
      <Arg>.*/mwa-web-.*\.jar$</Arg>
    </Call>
  </Get>
</Configure>

ここでは、mwa-web-* で始まるすべてのファイルをスキャンして Servlet 3.x を検出するように Jetty に指示しています。

于 2013-10-27T00:57:38.913 に答える