I am considering using Maven 3 for my Spring projects which I have been developing using Eclipse and Tomcat. Until now;
- I have been disabling “Republish automatically” because sometimes I don’t need publish, I only save .java files (classes) and keep development on debug mode.
- I republish (by clicking Eclipse’s “publish” button on Servers view) only when I changed js, jsp or htm-like files, not class files, so I can keep developing without restarting Tomcat.
Now I am going to use Maven for debug/run on development but whenever I changed my code, I don’t know how to do this “publish” issues on Maven as it doesn’t use Eclipse’s Tomcat directly. I stop maven and start again. Do I have to do this for all changes on my code? How can I make this maven -tomcat:run- “publish/republish” for js/jsp/html files and “do nothing” for .java files?
Unfortunately, yes, you’ll have to run maven for every change.
Maven’t isn’t really intended to be used this way – it assumes that you’re going to use maven when you’re ready to build (ie after development), but use something like Eclipse if you’re trying to see your changes in real time. It has no mechanism for listening for changes.
For my webapps I use both maven and Eclipse, with the m2e and the ‘Maven Integration for Eclipse WTP’ plugins. With that setup I can see my changes in real time using an embedded Tomcat instance in Eclipse, and when I’m done, I use maven to build.
Give those two plugins a shot – I think it’ll meet your needs.