views:

599

answers:

9

Recently I've been doing a bunch of work developing servlets for deployment in Tomcat 5.5. My current IDE is Eclipse Ganymede with WTP. I've been very unhappy with the Tomcat integration, as the configuration is constantly breaking and needing tweaking.

I was wondering if anyone could recommend another IDE that handles this integration better. I am particularly interested in what people think of IntelliJ's support for Tomcat.

Note I am also using Maven 2, and it's pretty essential to have Maven support as well.

+3  A: 

If you aren't using a debugger for JSPs, any IDE (I use Eclipse) works with any J2EE server using remote debugging. Add this to your startup script for Tomcat:

-Xdebug -Xrunjdwp:transport=dt_socket,address=5001,server=y,suspend=n

And then set up a remote debugging profile in your IDE using the port you specified (in this case, 5001).

This configuration never breaks and works for any Java app. Just run your application as you always do, and attach your debugger whenever you want.

Mr. Shiny and New
+4  A: 

Netbeans has tomcat integration. By that I mean you can start and stop tomcat, deploy, profile and debug your app running in tomcat from the IDE.

Best Practices for Apache Maven in NetBeans 6.x

Mark Robinson
+4  A: 

Netbeans all the way.

The integration with tomcat is fantastic, it even allows you to create project and automatically deploy and update on the fly without have to write any sort of build scripts deployment descriptors etc. It really is that easy :-)

http://www.netbeans.org

Karl
Although Eclipse WTP lets you basically do the same thing pretty much. :)
cliff.meyers
+3  A: 

IntelliJ IDEA is the IDE for you, having both excellent Tomcat and Maven integration.

Alexander Temerev
A: 

I use the sysdeo plugin for eclipse and like it quite a bit.

Codingscape
+1  A: 

This is not a direct answer to the question but, instead of changing the IDE, maybe consider changing the container (and maybe forget the WTP). I warmly suggest to try Jetty, especially if you are already using Maven. With a few lines of configuration, you'll be able to run mvn jetty:run on your project and Jetty will start, deploy and scan files for changes to redeploy the webapp if necessary. Isn't this nice ?

So I don't use the WTP but the maven jetty plugin as it provides useful features to me: simplicity (usage and configuration), short round trip cycles (start and deploy), files scanner, etc and of course integration with maven. Inside Eclipse, I use externals tools to stop and start Jetty by calling the maven plugin. For debugging, I use remote debug options when launching Jetty and connect a remote debugger on demand as explained in Debugging with the Maven Jetty Plugin in Eclipse.

This way, I can do all I want from Eclipse and/or maven and I'm happier than with the WTP and any other lightweight container.

Pascal Thivent
A: 

I think you'll like MyEclipse IDE. Ain't free but IMHO it's worth it.

Pablo Santa Cruz
A: 

You can debug JSPs very nicely with IntelliJ running on Tomcat, Jetty, WebLogic, or any other Java EE container. Far and away the best IDE.

duffymo
+3  A: 

I've used MyEclipse, the SysDeo plugin for Eclipse, and WTP. Of the three, when WTP works, it kicks the pants off the others. Most maven projects will just import and just run.

Unfortuantely sometimes WTP doesnt seem to work, and you're basically SOL. Our current project has a rather complex maven configuration and I've not yet

  • gotten it to work.
  • reduced the problem to a small test case to bug-submit.

I highly recommend WTP, particularly if you're already an Eclipse user.