In Section 1.1 you saw how you can create and build a simple project with a single class. In real life, projects are always more complex, and your projects may need to generate several artifacts (JARs, WARs, EARs, Web Start applications, etc.). Along with multiple artifacts, you will need to perform different build operations for different types of artifacts; for example, EAR files must be packaged for J2EE applications, some projects may include automated functional tests, applications may need to be deployed to an application server, or a project may need to execute a Web Start application. This list could go on forever, and it seems that the longer a project exists, the more complex build requirements become. In Maven, you manage build entropy by splitting a single monolithic monster project into smaller, more manageable subprojects. |