In the previous step you generated a custom portal project using the Jetspeed Archetype for Maven. The jetexpress directory that was generated by the archetype has the following contents:
jetexpress/ |-- jetexpress-pa | |-- jetspeed-mvn-pa-pom.xml | |-- pom.xml | `-- src | `-- main | |-- java | | `-- org | | `-- apache | | `-- portals | | `-- tutorials | | `-- MyPortlet.java | `-- webapp | |-- WEB-INF | | |-- portlet.xml | | `-- web.xml | |-- help.jsp | |-- maximized.jsp | `-- normal.jsp |-- jetexpress-portal | |-- jetspeed-mvn-portal-pom.xml | |-- pom.xml | `-- src | |-- main | | `-- webapp | | `-- WEB-INF | | `-- pages | | `-- default-page.psml | `-- sql | `-- min | `-- j2-seed.xml |-- jetspeed-mvn-settings.xml `-- pom.xml
The generated portal project is a Maven multi-module project. It consists of a simple parent project, and two submodules: jetexpress-portal and jetexpress-pa. The parent project does not produce any artifact by itself, but it lists its submodules and defines some project wide settings and properties, such as versions of dependencies.
The jetexpress-portal submodule provides a Jetspeed portal. It contains the configuration of the portal, its pages and decorators. This is where you do any portal-wide customizations.
The jetexpress-pa submodule provides a portlet application. It contains the actual portlets that will be displayed on your portal's pages. The generated project comes with one sample portlet, MyPortlet.java.
Since this is a Maven project, all project dependencies are managed by Maven. The parent project as well as its submodules each have a pom.xml file in which their dependencies are defined. Versions of dependencies are all stored as properties in the parent project's pom, so they are in one place for easier maintenance.
The file jetspeed-mvn-settings.xml contains a number of configuration parameters to build and deploy the portal. This file needs to be adapted to your local environment before you can build and deploy the portal. We will do this in the next step.
Now that you have a general idea of what is inside the project, and what it is for, let's configure the Maven build for your system.