如何加快部署到 Jetty?

How to speed up deployment to Jetty?

部署到 Jetty 服务器非常慢(大约 45 秒),这对开发来说很困难,所以我正在寻求有关如何加快速度的建议。

我将 Maven 与 Jetty 插件 (jetty-maven-plugin) 一起使用,jetty:run 目标是从原型 com.vaadin:vaadin-archetype-application 创建的 vaadin 项目。

我在这里找到了参考资料:wiki.eclipse.org/Jetty/Howto/Avoid_slow_deployment,这就是问题所在,因为有很多 jar 文件要扫描(来自 vaadin 框架),但我不知道该放在哪里xml 文件,如何命名,以及如何让 Maven jetty:run 目标使用它(我已经尝试了很多我能想到的变体!)

感谢任何帮助!

您可以在插件中配置单独的上下文,方法是在 web.xml 中添加 attributes/parameters(对于某些有限的事情)或使用适用于上下文的上下文 xml 文件,您需要使用插件配置的 contextXml 元素指定它。

https://www.eclipse.org/jetty/documentation/current/jetty-maven-plugin.html#configuring-your-webapp

P.S。 Jetty 9 在扫描等方面稍快一​​些

Gregw 为我指出了正确的方向。这是我最终如何解决这个问题的完整细节:

1) 我在 src/main/webapp/WEB-INF 文件夹中添加了一个名为 jetty-web.xml 的文件。它包含:

<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
    <Call name="setAttribute">
        <Arg>org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern</Arg>
        <Arg>nothing.jar</Arg>
    </Call>
</Configure>

请注意,此时我没有任何需要扫描的 jar,所以我只是输入了一个 "nothing.jar" 的虚拟条目作为要匹配的模式。

2) 编辑 pom.xml 中的 jetty-maven-plugin 条目:在该部分中,我添加了

<contextXml>${basedir}/src/main/webapp/WEB-INF/jetty-web.xml</contextXml>

现在只需几秒钟即可重新部署。