Project structure

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-pa
    |   |-- jetspeed-mvn-pa-pom.xml
    |   |-- pom.xml
    |   `-- src
    |       `-- main
    |           |-- java
    |           |   `-- org
    |           |       `-- apache
    |           |           `-- portals
    |           |               `-- tutorials
    |           |                   `--
    |           `-- 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,


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.

Previous - Next

Bug Fix for Version 2.2.1

This bug is fixed in versions 2.2.2 onward.

WARNING: Version 2.2.1 of the Jetspeed Archetype has a bug. The default-page.psml file is broken and needs to be replaced. A corrected version of the file is provided here:

Patched default-page.psml

Download and place the default-page.psml file into the project directory jetexpress-portal/src/main/webapp/WEB-INF/pages/_template/new-user/ replacing the file that exists there.

See JIRA ISSUE JS2-1214 for more details. The bug will be fixed in the 2.2.2 release