This part of the book is all about working effectively with the tooling to build, test, and deploy our Java applications. Although build tools have existed since long before Java entered the scene, the field continues advancing. In chapter 11, you’ll look at the two most popular Java build tools—Maven and Gradle—and learn about their similarities and differences. Beyond the basic commands, you’ll see how they model the world and where those models are open for the well-grounded developer to extend and customize.
Over the past years, containerization has taken the industry by storm. From its roots as a somewhat niche set of Linux primitives, Docker and Kubernetes have turned these techniques mainstream. You’ll take a look at the specifics of integrating our Java application environments with the norms in containers, what needs to change, and what stays the same.
Before you deploy your applications, though, you need to test them. What precisely that testing means can vary widely, depending who you talk to and what a project needs. A well-grounded developer knows that one size does not fit all, so we’ll grapple with a number of different testing approaches and their pros and cons, and get a vocabulary for being more precise about our tests. You’ll also see the big changes to JUnit’s most recent major version, using many of the newer JDK features you’ve learned about along the way.