使用 Jetty 和 Gradle 自动重新加载静态内容

Automatically reload static content with Jetty and Gradle

我希望在不重新启动网络服务器的情况下将静态内容更新反映在我的网络应用程序中。我正在使用 gradle 和码头插件。

我该怎么做?

这是我的 build.gradle 文件:

...
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'jetty'
...

dependencies {
    compile 'org.glassfish.jersey.containers:jersey-container-servlet:2.14'
    testCompile 'org.testng:testng:5.14.2'
}

这是我的 web.xml 静态内容的一部分:

<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.html</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.jpg</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.png</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.js</url-pattern>
</servlet-mapping>

据我所知,jetty 插件未启用此功能。 Gradle 来自 (AFAIR) 2.6 版支持 continuous build but I've tried it with jetty and spring-boot and it 。你当然可以尝试,如果你成功了请告诉我。

你也可以试试gretty

P.S。我也不确定静态内容 must/should 是否通过 web.xml 映射 - 它可能直接放在 WEB-INF 下 - 但我可能错了。