无需重启服务器即可更改静态内容 (html,css,JS) Wildfly 8

Change static contents (html,css,JS) without server restart Wildfly 8

静态内容如HTML、CSS、JavaScript等变化不影响页面刷新。它需要一个服务器 - 重新启动以使更改生效。但有趣的是,只有前两次更改会在页面重新加载时应用。但是从第三次改,看不到变化,只能看到第二次改的内容。内容存在于 war 文件夹中。我需要在 standlone.xml 中更改什么?我试过 "static-content" 并添加了 jboss 论坛中提到的处理程序,但它似乎不起作用。如果需要更多信息,请告诉我。

您需要启用分解内容的自动部署。该选项在 standalone.xml 配置文件中可用,作为 deployment-scanner 元素的 auto-deploy-exploded 属性:

    <subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0">
        <deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000" auto-deploy-zipped="true" auto-deploy-exploded="true"/>
    </subsystem>

要成功实现这一点,请执行以下操作:

  1. 启动服务器
  2. 将您的 WAR 文件夹(例如 foo.war)放入部署文件夹。它必须是一个解压缩的目录结构,而不是单个 WAR 文件
  3. 服务器应该部署内容
  4. 修改文件夹中的任何内容
  5. 服务器应该重新部署内容

请注意(服务器也会警告您)这是不稳定的行为,恕我直言,不适合生产环境。

编辑

您也可以为特定路径使用自定义处理程序,请参阅下面的配置(省略了无关部分)。这样您就不必在每次更改时都重新部署。

     <subsystem xmlns="urn:jboss:domain:undertow:1.2">
         <buffer-cache name="default"/>
         <server name="default-server">
             <http-listener name="default" socket-binding="http"/>
             <host name="default-host" alias="jboss.local">
                 <location name="/" handler="welcome-content"/>
                 <location name="/static" handler="static"/>
             </host>
         </server>
         <handlers>
             <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
             <file name="static" path="/Users/miso/static-files" directory-listing="false"/>
         </handlers>
     </subsystem>