Maybe the IGM can give me some pointers because there are too many places where the error message (if there is one) is little more than "it doesn't work" without giving enough clue as to what to fix.
This is a new project; the only legacy "code" is understanding some database designs, but I already know them sideways, so that's not a hurdle. The project is using Spring MVC and Maven and all stored in SubVersion. Spring makes sense and a number of class/interface designs are very elegant. The ORM layer is Hibernate onto a MySQL database. Presentation is JSP files with JSTL tags. It's all running on Tomcat. The IDE of "choice" is IntelliJ v9.
<rant>
IntelliJ does a lot of flashy, clever things well, like auto-completion for many many things, and a type of pre-compiling which catches a lot of compile-time errors. Unfortunately, it seems to be designed, in large part, by people who haven't used anything else in a very long time. There is so much cruft around the edges that likes switching itself on that you feel like you need a screen 3000 pixels wide just for some decent elbow room. This wouldn't be quite so much of a problem if it handled horizontal scrolling properly, but no: it will often ignore the "End" key because that would put the cursor farther right than it thinks you should be coding. :-( And then there is the absolute reliance on the mouse for many many tasks. And the way the X Cut buffer is only filled if you swipe-mark the text. Double-click to mark a word and it doesn't copy it in (WTF?). Lots of idiocies like that.
</rant>
I've got a local Tomcat running, courtesy of apt-get. I figured out how to configure it to load the .war file from Maven's build. It seems to auto-deploy after Maven builds it. Usually. It lets IntelliJ connect for debugging and supports hot-swapping of classes. Well, most of the time. From time-to-time, it just won't do a hot-swap, which usually means I'm left guessing as to whether it's picked up the new .war file via Maven or is ignoring everything. I can't tell which it's done until I try out my change from a web browser.
And then if the .war file goes away, Tomcat deletes the context.xml file for it! :-O
JSTL, I've found, easily turns JSPs into tag-soup. The expression language likes ignoring new fields in classes, for instance, claiming it can't find them (exception in the log). I had to move a key piece of a display algorithm back into the controller because the servlet just would not see a field.
Restarting Tomcat will often solve that. Often - but not always. The latest is returning a blank value from a getter. Yet I know there's a value there because I can see it in the debugger before the servlet engine gets the data! What's worse is exactly the same construction on a different class works.
These things are slowing down development considerably. Help?
Wade.