A multi-module Maven project aggregates several Maven projects into a single one. In this chapter, we will create three modules that form the whole application:
- webapp: A Vaadin web application packaged as a WAR file that includes everything needed to deploy it to a server such as Tomcat, Wildfly, Jetty, or any other Java server
- api: A Java API packaged as a JAR used by the webapp and any functional module
- example-module: An example functional module that uses the api JAR to add functionality to the application
All these modules are aggregated into a single Maven project with the name chapter-02. Let's start by creating this aggregator project by using the pom-root Maven archetype. Run the following in a terminal:
mvn archetype:generate \
-DarchetypeGroupId=org.codehaus.mojo.archetypes \
-DarchetypeArtifactId=pom-root \
-DarchetypeVersion...