Now that I'm finally using Java for
something, I get to mess around with IDEs like
everyone else.
I started with
Eclipse, which integrates very nicely with Tomcat, which apparently
sucks, but seemed to work very nicely for me. Eclipse recompiles your code whenever you save a file, and then (if you're using JDK 1.4) automagically pushes the updates into the running web server, so it feels a lot like coding in a scripting language -- type, ctrl-s, alt-tab, f5, and you can see the newest code running. If I delete a method of a servlet, the "hot-swap" thing fails, though, so I have to restart the Tomcat instance, which takes 20 seconds or so.
I just downloaded
IDEA yesterday, and finally got it up and running (
Tomcat instructions). The IDE looks very nice - Java-style dialogs (as opposed to the more native ones that Eclipse gives you) but done properly, so they don't look alien like most Java GUI apps seem to. Getting it to work with Tomcat was trickier: it doesn't seem to want to run Tomcat by itself, but adding the recommended debug stuff to
startup.bat
and telling it to just connect to an already-active Tomcat instance got it to work OK. Changing stuff and recompiling seemed to update the servlet code OK, but I haven't done much with it yet.
BTW can someone tell me what the licensing deal is with the
EAP? Is it something like
"you can use it for free if you promise to tell us whenever it crashes", or do I need to buy the usual version to be allowed to use the EAP code? I'm downloading build 813 now, so it'll be interesting to see what's in there.
Update: Argh, just hit ctrl-f9 to recompile, then alt-tab and ctrl-f5 gave the same results as before. Not good. Should I blame Tomcat or IDEA?
Later: It looks like IDEA is recompiling, but it doesn't tell Tomcat, so I have to wait for Tomcat to check the timestamps on the
.class
files before I can see the changes. It's not
too bad, but not as nice as what Eclipse was doing.
Later still: Argh, screw that. This isn't reliable enough for me. Maybe I'll come back to IDEA when I get a better servlet container!
... more like this: [