Create the Project
Maven archetypes are templates of projects. Maven can generate a new project from such a template. To create a new project, type the command shown below. This will create a new project folder with a name equal to the chosen artifactId, containing the generated project. On Windows, run the command on a single line and leave out the line continuation characters ('\') or use '^' as continuation character.
mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate \ -DarchetypeRepository=https://maven.bloomreach.com/repository/maven2/ \ -DarchetypeGroupId=org.onehippo.cms7 \ -DarchetypeArtifactId=hippo-project-archetype \ -DarchetypeVersion=13.4.22
Windows:
mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate -DarchetypeRepository=https://maven.bloomreach.com/repository/maven2/ -DarchetypeGroupId=org.onehippo.cms7 -DarchetypeArtifactId=hippo-project-archetype -DarchetypeVersion=13.4.22
The Maven command above uses the latest Bloomreach Experience Manager release available to the open source community.
Bloomreach Experience Manager standard and premium licensees have access to the latest release as listed on the Release Notes Overview page. To use the latest release, make sure to configure the Bloomreach Experience Manager Maven repository and in the above Maven command, replace the the value of the -DarchetypeRepository argument with https://maven.bloomreach.com/repository/maven2-enterprise/ and the value of the -DarchetypeVersion argument with the appropriate version number.
The Bloomreach Experience Manager archetype is configured with default values for all properties required by the archetype. If you want to customize any of these property values, type 'n' when prompted for confirmation.
You can specify values for the following properties:
- groupId - the project's Maven group ID, like 'com.mycompany'
- artifactId - the project's main artifact ID. For the purpose of consistency, this trail uses the default value 'myproject'.
- version number - we recommend that you use the default value. It is a Maven best practice to have '-SNAPSHOT' in the version number during development; the Maven release plugin makes use of that string. Deviate from this when your project has explicit, different requirements.
- package name - the name of the Java package within which the code for your site application will live. A folder structure representing this package name will be generated automatically. Typically, the package name will resemble the Maven groupId.
- project name - the (free text) name of the new project.
Maven now creates the new project in a directory named after the value of the artifactId property you specified. The project contains 5 modules / sub-projects:
- cms - produces the Bloomreach Experience Manager platform web application, which includes the repository, configured to use an embedded, file-based database storage.
- cms-dependencies -
- repository-data - produces four JAR files containing resources that represent the initial content of the repository, split between application data (required for any deployment of the application), development data (only to be deployed into development environments such as local or CI deployments), site configuration, and web files.
- site - produces a JAR file containing web application components and a WAR containing the actual Bloomreach Experience Manager site web application, which connects to the platform to render the content on a website.
- essentials - produces the setup web application, which helps you configuring and extending your Bloomreach Experience Manager project.