Skip to content

 
  • Continuous Integration and Continuous Delivery with Jenkins
  • Automated Acceptance and Web Testing
  • Test-Driven Development Training and Coaching
  • Test-Driven Development Training and Coaching
  • Test-Driven Development Training and Coaching
  • Test-Driven Development Training and Coaching
  • Expertise in Automated Acceptance Tests and ATDD
  • Automated Acceptance and Web Testing

Java Power Tools

All true craftsmen need the best tools to do their finest work, and programmers are no different. Java Power Tools delivers 30 open source tools designed to improve the development practices of Java developers in any size team or organization. Each chapter includes a series of short articles about one particular tool -- whether it's for build systems, version control, or other aspects of the development process - giving you the equivalent of 30 short reference books in one package.

No matter which development method your team chooses, whether it's Agile, RUP, XP, SCRUM, or one of many others available, Java Power Tools provides practical techniques and tools to help you optimize the process. The book discusses key Java development problem areas and best practices, and focuses on open source tools that can help increase productivity in each area of the development cycle, including:

  • Build tools including Ant and Maven 2
  • Version control tools such as CVS and Subversion, the two most prominent open source tools
  • Quality metrics tools that measure different aspects of code quality, including CheckStyle, PMD, FindBugs and Crap4j
  • Technical documentation tools that can help you generate good technical documentation without spending too much effort writing and maintaining it
  • Unit Testing tools including JUnit 4, TestNG, Easyb, and the open source coverage tool Cobertura
  • Integration, Load and Performance Testing to integrate performance tests into unit tests, load-test your application, and automatically test web services, Swing interfaces and web interfaces
  • Continuous Integration tools such as Continuum, Cruise Control, LuntBuild and Hudson

If you are a Java developer, these tools can help improve your development practices, and make your life easier in the process. Lead developers, software architects and people interested in the wider picture will be able to gather from these pages some useful ideas about improving your project infrastructure and best practices.

Table of Contents

  • Foreword by Andrew Glover (President, Stelligent Incorporated)
  • Preface
  • Introduction

Part I. Build tools

  • Setting up a project using Ant
  • Setting up a project using Maven 2

Part II. Version control tools

  • Setting up version control using CVS
  • Setting up version control using Subversion

Part III. Continuous Integration

  • Setting up a continuous integration server with Continuum
  • Setting up a Continuous Integration server with CruiseControl
  • LuntBuild - a web-based Continuous Integration server
  • Continuous Integration with Hudson
  • Setting up an Instant Messaging platform with Openfire

Part IV. Unit Testing

  • Testing your code with JUnit
  • Next-Generation Testing with TestNG
  • Maximizing test coverage with Cobertura

Part V. Integration, Functional, Load and Performance Testing

  • Testing a Struts application with StrutsTestCase
  • Integration testing databases with DbUnit
  • Performance testing with JUnitPerf
  • Load and Performance Testing with JMeter
  • Testing Web Services with SoapUI
  • Profiling and monitoring Java applications using the Sun JDK tools
  • Profiling Java applications in Eclipse
  • Testing your user interfaces
    • Testing your web application with Selenium
    • Testing Swing GUIs with FEST

Part VI. Quality metrics tools

  • Detecting and Enforcing Coding Standards with Checkstyle
  • Preemptive error detection with PMD
  • Preemptive error detection with FindBugs
  • Inspecting the results – semi-automated code reviews with Jupiter
  • Sharpen Your Focus with Mylyn
  • Monitoring build statistics (QALab, StatSCM and StatSVN)

Part VII. Issue Management tools

  • Bugzilla
  • Trac - light-weight project management

Part VIII. Technical documentation tools

  • Team communication with the Maven 2 project web site
  • Automatically generating technical documentation (SchemaSpy, DOxygen and UmlGraph)

Code samples

Most of the code samples used in Java Power Tools are available here. Some of the code samples are currently being revised and updated, and will be available soon.

Download the code samples here

Book Reviews

"The book is enjoyable, extremely well organized and covers a wide range of open source tools needed for any successful software development life cycle. I would recommend Java Power Tools to anyone writing Java."
-- Javalobby

"The Handiest Java Book in Years...All told, 856 pages of crisp, well-written explanations. A must-have reference for the bookshelf."
-- Andrew Binstock

"If you are on a Java development project, you must have this book! I'm still amazed by the breadth and depth of the information in it...If you'd rather be spending time creating software rather than trying to bend your process or tools to meet your needs, this is the book for you."
-- Paul Duvall (author, "Continuous Integration")

"Even though the book is heavy, and has 910 pages, I carry it everyday to work. It is a great reference book for all the tools as well. If you are writing software using Java, you should without a doubt get this book."
-- Meera Subbarao

Training

Wakaleo Consulting also provides both inhouse and public training based on the tools and techniques described in Java Power Tools. The Java Power Tools bootcamp is an intense 4-day hands-on workshop covering some of the best open source tools for Java development on the market. The course takes you on a in-depth guided tour of some of the best open source Java tools, showing how you can use them individually and together to write code better and faster

Jenkins: The Definitive Guide

Continuous Integration, or CI, is a cornerstone of modern software development best practices. Jenkins, an Open Source Continuous Integration tool, is by far the most popular Continuous Integration tool on the market, and for good reason! It's intuitive user interface and powerful features make setting up a Continuous Integration service a real breeze.

This book will teach you how to build a powerful and robust CI infrastructure using Jenkins. It is both a tutorial-style introduction and a comprehensive reference to implementing Continuous Integration and automating the build process with Jenkins. It's intention is not only to describe and document Jenkins, but also to provide a wealth of best practices and real-world tips enabling readers to get the most out of their Continuous Integration environment.

Jenkins: The Definitive Guide is an open source book, and is freely available online and in PDF form. The printed copy and eBook versions (ePub, mobi) are also available for purchase here.

Table of Contents

  • Introduction
  • First Steps with Jenkins
  • Installing Jenkins
  • Configuring Jenkins
  • Setting up build jobs
  • Automated testing
  • Security
  • Notification
  • Automated Code Quality Metrics
  • Advanced build job strategies
  • Distributed builds
  • Automated deployments
  • Server Maintenance

Book Resources

  • Purchase 'Jenkins: The Definitive Guide' (hardcopy or ebook format)
  • Download 'Jenkins: The Definitive Guide' (PDF format)

Try out Jenkins!

Launch Jenkins through Java Web Start for a test drive. Once it launches, visit http://localhost:8080/ to get to the Jenkins. Any configuration that you do with this Jenkins will be stored in the local ~/.jenkins directory, so your data will survive through Jenkins process restart.

Download the latest version of Jenkins

Download the latest version of Jenkins here, or directly from the Jenkins website.

Download the code samples

Download the code samples used in the book here.

Platinum Sponsors

Gold Sponsors

Odd-e is a small company focusing on software quality, agile and lean development, training and coaching.

Also helping out...

XMLMind have contributed licenses for XMLMind Professional Edition LeanKit Kanban have contributed an online Kanban board for the book contributors.

Become a Sponsor!

About the author

John Ferguson Smart is a consultant specializing in Enterprise Java, Web Development, and Open Source technologies, currently based in Wellington, New Zealand. Well known in the Java community for his many published articles, and as author of the Java Power Tools book, John helps organizations optimize their Java development processes and infrastructures and provides training and mentoring in open source technologies, SDLC tools, and agile development processes. John is principal consultant at Wakaleo Consulting, a company that provides consulting, training and mentoring services in Enterprise Java and Agile Development.

The JavaServer Faces Jumpstarter book

A practical introduction to JavaServer Faces - get a jump-start into JSF!

JavaServer Faces, or JSF for short, is a powerful, industry-backed technology for building state-of-the-art dynamic web sites quickly qnd easily using Java.

The JSF Jumpstarter book is a short, tutorial introduction to JSF, suitable for JSF newbies. Wakaleo Consulting has now placed this book in the public domain - in other words, you can now download it for free!

Download the JSF Jumpstarter book now!

In a short 65 pages, this book teaches you how to build dynamic web sites in Java using JavaServer Faces, using a hands-on, practical approach. Little or no prior experience in web development is necessary (though a bit of Java knowledge would help). Using an easy-to-follow, tutorial style, you will learn how to use JavaServer Faces to build real-world Java web applications, including screens, navigation and business logic. Along the way, you will learn the key concepts behind JavaServer Faces.

In this book, you will learn how to:

  • Use the powerful and open source Exadel Studio Pro development environment to build your web sites quickly and easily
  • Construct JSF-based web pages with ease using the Exadel WISIWIG editors
  • Build, deploy, test and debug your JSF applications from within your development environment
  • And more!
All true craftsmen need the best tools

You will also learn plenty of valuable real-world tips-and-tricks and best practices in the fine art of JavaServer Faces development.

John is also the author of Java Power Tools, which covers a range of open source tools designed to improve the development practices of Java developers in all parts of the software development life cycle, and in any size team or organization.

Download JSF Jumpstarter

Download the Source Code