I also find that the stability and performance of Eclipse / WTP is somewhat worrying. I have been using Eclipse since mid-2003 and have been trying to use WTP from the very first releases.
At first, the quality was absolutely terrible, but for version 0.x, of course, I could not complain. Waiting for WTP to mature, I used MyEclipse, which seemed to be in order, but had its drawbacks (and partially based on WTP, inherited some of WTP).
When MyEclipse got heavier and heavier, slower and slower, and we ran into several stability issues, we switched to “pure WTP”. All that we used was really the main JSP / JSF editor and deployer.
Since WTP does not perform incremental deployment (at least not for the JBoss runtime), we added a separate server runtime from the JBoss tools. When we adopted Facelets, we also switched to the editor from the JBoss tools.
However, we face many problems that we also had with MyEclipse. There are inexplicable slowdowns, but much worse - stability issues. There are many inconvenient exceptions and crashes. A typical .log file on many different workstations that I reviewed is chockfull exceptions. A small selection of the last 10 exceptions in my journal:
one.
java.lang.NullPointerException at org.eclipse.jst.jsp.core.internal.validation.JSPActionValidator.isElIgnored(JSPActionValidator.java:147)
2.
java.lang.RuntimeException at org.eclipse.jface.viewers.ColumnViewer.checkBusy(ColumnViewer.java:763)
3.
java.lang.ArrayIndexOutOfBoundsException: 38 at org.eclipse.debug.internal.ui.viewers.model.FilterTransform$Node.addFilter(FilterTransform.java:67)
four.
org.eclipse.jdi.TimeoutException: Timeout occurred while waiting for packet 302111. at org.eclipse.jdi.internal.connect.PacketReceiveManager.getReply(PacketReceiveManager.java:171)
5.
java.lang.NullPointerException at org.eclipse.jst.jsf.facelet.core.internal.cm.ElementCMAdapter.getLength(ElementCMAdapter.java:109)
6.
Caused by: java.lang.NullPointerException at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.WebappConfiguration.getConfigFilesFromContextParam(WebappConfiguration.java:184)
7.
org.eclipse.emf.ecore.resource.Resource$IOWrappedException: Feature 'span' not found. (file:///mysystem/Eclipse.app/Contents/MacOS/com /sun/faces/metadata/taglib/facelets_jsf_core.taglib.xml, 453, 52) at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.handleErrors(XMLLoadImpl.java:83) ... at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.TagModelLoader.loadFromInputStream(TagModelLoader.java:100)
8.
java.lang.NullPointerException: No IModelProvider exists for project P/my_project of version: Utility Module at org.eclipse.jst.j2ee.model.ModelProviderManager.getModelProvider(ModelProviderManager.java:101
9.
java.lang.NullPointerException at org.eclipse.jst.j2ee.internal.deployables.J2EEDeployableFactory.clearCache(J2EEDeployableFactory.java:238)
10.
org.eclipse.jst.jee.model.internal.mergers.ModelException: java.util.ConcurrentModificationException at org.eclipse.jst.jee.model.internal.mergers.EjbJarMerger.process(EjbJarMerger.java:79)
Please note that these are only the last 10, there are many, many exceptions.
Random reaction: "Your Eclipse installation is corrupt! You have a local problem!" Yes, I may have a local problem, but this "local problem" seems to be widespread, since many of the Eclipse installations I tested seem to have this data in their logs.
I also have problems with deployments, for example, at the following link in different incarnations: http://community.jboss.org/thread/158611 These can be specific JBoss tools or it can be based on basic WTP or even Eclipse code. I do not know, but I know that this is an unpleasant problem. In each version of WTP and JBoss there is “something,” and each version of such a problem arises in a slightly different form.
Between stability issues, I can do some work, and I like the automatic completion and transition to the functions offered by editors (which prevents me from switching to a text editor and completely building on the command line), but I will surely enjoy the increased stability.