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 ビット
ありがとうございました