: The tools I use in every Java project are Eclipse, Ant, JUnit and CVS. You can replace Eclipse with another good IDE (like IDEA) and CVS with another source code control system (Subversion looks interesting, never used it). Ant and JUnit are pretty much a given, though.Other Tools
: Beyond the tools above, it depends on the project that I am working on. I use different tools for different kind of projects, and if I am working on a new kind of project, then I first look for tools that will help.
I do a lot of web-development work, which often involves some kind of database interaction and some kind of XML work, so I often use tools supporting those. In general, I recommend learning tools as you need them on project, or if you are just trying to expand your skills, learn tools that you need on on the kinds of projects you want to work on.Server Environment
: The J2EE server you are going to use is a major deciding factor. The level of J2EE support (1.2/1.3/1.4) determines which tools will actually work, and most servers have their own supporting toolset. In my experience, the server you use is frequently dictated, and "which server is best" is discussed at length elsewhere, so I won't say more than this.Web Framework
: You should use some kind of web framework. In order of popularity, they seem to be Struts, WebWork, Tapestry [and maybe Maverick]. Again, "which is best" is debated at length, but all of them are good enough to have a significant following. I don't use any of them, because I wrote my own framework (http://chrysalis.sourceforge.net
: You probably should use some kind of Object-to-Relational Mapping tool. This could be CMP EJB. If not, JDO, Hibernate and Castor seem popular (though Castor is getting dated). My personal pick is Hibernate, but it is not always an option.XML Tools
: I try to stick to the standards here, so that my tool choice is open ended. I code using JAXP, so that I switch parsers and transformers as I see fit. I usually end up using Xerces/Xalan, because they are installed in most server environments. I am interested in learn StAX, though, which looks like a great improvement on SAX. I don't do much in the way of Web Services, so no recommendation there.
Something that I have very recently adopted is an XML IDE. I originally thought "XML is just text", and used an editor and command-line tools to manage XML files. Also, I hated XML Spy (the biggest commercial tool) and could not find a decent open source tool. A month ago I started using oXygen, and am very pleased with it. It has an Eclipse plugin, is simple and is relatively cheap ($75). It is a bit buggy, but it has doubled my XML-related productivity.