How do I force MyEclipse to hot-deploy a JavaScript file to my JBoss instance?
Question
I'm having trouble with MyEclipse 7.1.1 hot-deployment of files to my JBoss 4 server.
The problem is this: while my server is running, I can make changes to various JAVA and HTML files, which are then hot-deployed immediately (I can see the changes reflected in my browser when I refresh the page). However, while working on a particular JavaScript file, my changes are not being hot-deployed. This makes it very difficult to work on and debug this file, since I have to stop my server, redeploy, and start it again each time I make changes. This is a new problem - it didn't used to happen with this file, so I think something got screwed up in my MyEclipse configuration.
I've verified that my projects (JBoss 4 instances) are all set up in "Exploded" mode for hot-deployment.
I'm also 99% sure that this isn't an issue with my browser, since I always refresh with CTRL+F5, and I've tried a number of things like clearing my browser cache to get the currently deployed version of the file.
I've also tried doing a "clean" on the project while the server is running, and that didn't force a deployment either.
Any sort of solution would be helpful. I'd love for MyEclipse to deploy the file automatically, but I'm also open to manually forcing hot-deployment of this particular file while I work on it.
Thank you.
Solution
This turned out to be a problem with both IE and the application caching strategy.
The following fixed it:
- Setting a GZIP compression environment variable to be OFF. This way the GZIP compressed JS files are not cached for two weeks.
- Setting IE8 to "check for newer versions of stored pages every time I visit the webpage", and using CTRL+F5 to refresh (as before).
OTHER TIPS
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);