We have ventured down the JSR-168 portlet path (with the intention of moving to JSR-286 portlets in the future), using Spring MVC as the backbone. I am wondering if I can get some recommendations regarding the best Development Environment to use. I want to make sure the following is preserved:
Portlets (& code) are pure JSR-168
Full deploy / Hot Deploy is available
Full debug capability
Use of Open Source Software is preferred
Currently, we are using MyEclipse deploying to Liferay, but it appears the only way to get full featured Hot Deploy through Liferay is to use their Development Environment. I have read that Lomboz / eXo allows for Hot Deploy, but it appears only to deploy, not to debug.
I am purely referring to Development. MyEclipse came out with a wizard to create a Portlet, but this is no where near sufficient. I am trying to get as close as possible to the traditional J2EE Development Environment (i.e. MyEclipse running and synchronizing a Tomcat server) as possible.
Things get tough with Portal. Implementations are different, but Portal is like a whole extra web app running on top of the app server itself. Hot deploy gets tricky.
One thing you might be interested in adding to your arsenal is JSF. You can develop applications as JSF apps, and take advantage of full, JSF 'hot deploy capabilities' that you would expect, and then just wrap those JSF apps in a 'portlet bridge' and deploy the app to the portal. It gives you the best of both worlds - full access to the JSF framework and all of the goodies that go along with it, but at the same time, the ability to seamlessly deploy to a portal environment.