无需重启服务器即可更改静态内容(html、css、JS) Wildfly 8
Posted
技术标签:
【中文标题】无需重启服务器即可更改静态内容(html、css、JS) Wildfly 8【英文标题】:Change static contents (html,css,JS) without server restart Wildfly 8 【发布时间】:2017-03-07 08:38:33 【问题描述】:html、CSS、javascript 更改等静态内容不会影响页面刷新。它需要一个服务器 - 重新启动以应用更改。但有趣的是,只有前两次更改会应用于页面重新加载。但是从第三次变化来看,变化是看不到的,只能看到第二次变化的内容。内容存在于 war 文件夹中。我需要在 standlone.xml 中更改什么?我尝试了“静态内容”并添加了 jboss 论坛中提到的处理程序,但它似乎不起作用。如果需要更多信息,请告诉我。
【问题讨论】:
【参考方案1】:您需要启用展开内容的自动部署。该选项在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>
要成功实现这一点,请执行以下操作:
-
启动服务器
将您的 WAR 文件夹(例如 foo.war)放入部署文件夹。它必须是解压后的目录结构,而不是单个 WAR 文件
服务器应该部署内容
修改文件夹中的任何内容
服务器应重新部署内容
请注意(服务器也会警告您)这是不稳定的行为,恕我直言,不适合生产环境。
编辑
您还可以对特定路径使用自定义处理程序,请参阅下面的配置(省略了无关部分)。这样您就不必在每次更改时重新部署。
<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>
【讨论】:
谢谢。正如您所提到的,这是一种不稳定的行为。启用自动部署爆炸是为我在 Eclipse 中点击的每个“保存”部署整个应用程序。这是我不想要的。例如,我正在更改一个小的 html 属性,它会部署整个应用程序!我正在考虑一种方法来设置选定的目录路径(其中包含 html、css、js 文件)以在我对它们进行每次更改后进行部署,而不是部署整个应用程序。有没有可能?以上是关于无需重启服务器即可更改静态内容(html、css、JS) Wildfly 8的主要内容,如果未能解决你的问题,请参考以下文章