如何强制 MyEclipse 将 JavaScript 文件热部署到我的 JBoss 实例?
Posted
技术标签:
【中文标题】如何强制 MyEclipse 将 JavaScript 文件热部署到我的 JBoss 实例?【英文标题】:How do I force MyEclipse to hot-deploy a JavaScript file to my JBoss instance? 【发布时间】:2011-03-04 12:31:13 【问题描述】:MyEclipse 7.1.1 将文件热部署到我的 JBoss 4 服务器时遇到问题。
问题是这样的:当我的服务器运行时,我可以对各种 JAVA 和 html 文件进行更改,然后立即热部署(刷新页面时我可以看到浏览器中反映的更改)。但是,在处理特定的 javascript 文件时,我的更改并没有被热部署。这使得处理和调试该文件变得非常困难,因为每次进行更改时我都必须停止服务器、重新部署并重新启动它。这是一个新问题 - 这个文件以前不会发生这种情况,所以我认为我的 MyEclipse 配置出了点问题。
我已验证我的项目(JBoss 4 实例)都设置为“爆炸”模式以进行热部署。
我也 99% 确定这不是我的浏览器的问题,因为我总是使用 CTRL+F5 刷新,并且我尝试了很多方法,例如清除浏览器缓存以获取当前部署的版本文件。
我还尝试在服务器运行时对项目进行“清理”,这也没有强制部署。
任何类型的解决方案都会有所帮助。我希望 MyEclipse 自动部署该文件,但我也愿意在处理此特定文件时手动强制热部署。
谢谢。
【问题讨论】:
【参考方案1】: var dwScriptFileUrl = location.protocol + '//' + location.host + '/' + appName + '/extend.js?' + Math.random();
var dwDOM = document.all('myiframe0').contentWindow.document;
var dwScript = dwDOM.createElement("script");
dwScript.type = "text/javascript";
dwScript.src = dwScriptFileUrl;
dwDOM.body.appendChild(dwScript);
【讨论】:
【参考方案2】:这原来是 IE 和应用程序缓存策略的问题。
以下修复它:
-
将 GZIP 压缩环境变量设置为 OFF。这样 GZIP 压缩的 JS 文件不会被缓存两周。
将 IE8 设置为“每次访问网页时检查存储页面的较新版本”,并使用 CTRL+F5 刷新(和以前一样)。
【讨论】:
以上是关于如何强制 MyEclipse 将 JavaScript 文件热部署到我的 JBoss 实例?的主要内容,如果未能解决你的问题,请参考以下文章