The Maven Build Tool
Java programs are seldom just a single file. They can consist of just a few files or thousands of files. We have seen that you must compile Java source code files into bytecode. Having to do this for so many files makes the work quite tedious. This is where a build tool is invaluable.
In the previous chapter, the programs were all run from the folder we stored them in. As programs grow into multiple files, you manage them by categorizing them. The basic categories that date back to the early days of programming are input, process, and output. You can break down these categories into specific tasks that your program must perform. In Java, we call a category a package. A package, in turn, is a folder into which you store all the Java files that are part of the category. A complex program may consist of hundreds of files organized into packages.
In this environment, you must compile every single file. As you can imagine, this can be very tedious if you must...