Java Power Tools
- ISBN: 0-596-52793-4
- Publisher: O'Reilly
- Publication Date: April 2008
- Pages: 910
- Price: £37.50
Java Power Tools describes itself as an overview of "30 open source tools designed to improve the development practices of Java developers in any size team". It divides the tools into the following categories:
* Build Tools (Ant, Maven 2)
* Version Control Tools (CVS, Subversion)
* Continuous Integration (Continuum, CruiseControl, LuntBuild, Hudson, Openfire)
* Unit Testing (JUnit, TestNG, Cobertura)
* Integration, Function and Performance Testing (StrutsTestCase, DbUnit, JUnitPerf, JMeter, SoapUI, the Sun JDK Tools, Eclipse, Selenium, FEST)
* Quality Metrics Tools (Checkstyle, PMD, FindBugs, Jupiter, Mylyn, QALab, StatSCM, StatSVN)
* Issue Management Tools (Bugzilla, Trac)
* Technical Documentation Tools (SchemaSpy, Doxygen, UmlGraph)
As a Java developer, you may have heard of at least a couple of these tools and maybe even used some of them. If you haven't, fear not! This book provides a gentle introduction to each area and tool, explaining why you might wish to use the tool and what it is best suited for. It also provides guides on how to install many of the tools – which is certainly be useful for anyone not used to using the command line, as many of the tools required it's use. The books focus is on open source products which is very welcome, since it makes all the tools freely available and avoids further expenditure on a project.
This book is certainly written towards newcomers to all of these tools – who are certainly the target market. It can also help introduce you to other examples of the categories, which can help you explore other tools that you otherwise might not have used – and it does a good job of exploring the benefits of each of them.
However, if you have experience using many of the above Java tools – or you're prepared to do a little digging on many of the tools websites – this book will not provide you with much insight, other than a general overview of the available tools. It also doesn't work very well as a reference – once you have grasped the basic concepts of the tools you are interested in, you shouldn't need to look at that section. This is really down to the sheer number of tools covered by the book – it is a jack of all trades, not a master of any.
The book is well written and well structured – one can easily find the section they require quickly. The book feels professional and the extra information from contributing authors is well integrated.
Overall, this book provides an excellent introduction to the tools available to Java Developers. It also gives a very useful overview of the different tools and where and when they should be used. As far as I was concerned, the best sections included Maven, Subversion, testing (both JUnit and TestNG) and OpenFire. However, if you are an experienced Java developer – particularly with the tools available for Java development, you might want to think twice before diving into Java Power Tools.