Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gradle Gretty静态资源重新加载问题_Gradle_Gretty - Fatal编程技术网

Gradle Gretty静态资源重新加载问题

Gradle Gretty静态资源重新加载问题,gradle,gretty,Gradle,Gretty,我正在尝试以一种方式配置gretty,这种方式允许我在不重新部署服务器的情况下重新加载诸如*.html文件(位于标准src/webapp/WEB-INF中)之类的静态资源。然而,我所有的尝试都没有成功。 我通过更改html文件并在chrome(ctr+shift+R)中使用清除缓存重新加载html页面来测试它 使用配置1: gretty { contextPath = 'john' servletContainer = 'jetty9' fastReload = true } gr

我正在尝试以一种方式配置gretty,这种方式允许我在不重新部署服务器的情况下重新加载诸如*.html文件(位于标准src/webapp/WEB-INF中)之类的静态资源。然而,我所有的尝试都没有成功。
我通过更改html文件并在chrome(ctr+shift+R)中使用清除缓存重新加载html页面来测试它

使用配置1

gretty {
  contextPath = 'john'
  servletContainer = 'jetty9'
  fastReload = true
}
gretty {
  contextPath = 'john'
  servletContainer = 'jetty9'
  fastReload = false
}
更改任何html页面都没有任何效果

使用配置2

gretty {
  contextPath = 'john'
  servletContainer = 'jetty9'
  fastReload = true
}
gretty {
  contextPath = 'john'
  servletContainer = 'jetty9'
  fastReload = false
}
更改任何html调用整个服务器重新部署,这是我不希望发生的

有没有机会让它工作?

正如官方所述,Gretty的快速重新加载处理更改了位于
src/main/webapp
目录下的文件和文件夹。对于路径
src/webapp/WEB-INF
未启用快速重新加载

您必须移动
webapp
文件夹以符合路径要求,或者专门将文件夹添加到快速重新加载功能中。函数
fastReload(字符串)

fastReload(java.io.File)
允许您指定要快速重新加载的目录和文件。

我已经尝试过,fastReload='src/webapp/WEB-INF',但当我更改WEB-INF文件夹中的任何资源时,它会导致服务器重新加载。如果您在原地运行应用程序,使用
appRun
或作为war任务,通过
appRunWar
?我通过gradle任务运行它。Gretty->JettyStart要使用fastReload,您必须使用“appRun”以就地模式运行应用程序。您在官方文档中找不到,但在Gretty的源代码中找不到。请将自定义webapp文件夹添加到Gretty的
extraResourceBase
。您不需要使用
fastReload(java.io.File)
以这种方式将文件夹添加到fastReload功能中。请点击此处: