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.onehippo.com/maven2 \ -DarchetypeGroupId=org.onehippo.cms7 \ -DarchetypeArtifactId=hippo-project-archetype \ -DarchetypeVersion=12.6.0
mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate -DarchetypeRepository=https://maven.onehippo.com/maven2 -DarchetypeGroupId=org.onehippo.cms7 -DarchetypeArtifactId=hippo-project-archetype -DarchetypeVersion=12.6.0
The Maven command above uses the latest Hippo CMS release available to the open source community.
BloomReach Experience 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 Maven repository and in the above Maven command, replace the the value of the -DarchetypeRepository argument with https://maven.onehippo.com/maven2-enterprise and the value of the -DarchetypeVersion argument with the appropriate version number.
The Hippo CMS 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 value 'myhippoproject'.
- 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 4 modules / sub-projects:
- cms - produces the CMS web application, which includes the repository, configured to use an embedded, file-based database storage.
- repository-data - produces three 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) and web files.
- site - produces the Hippo CMS delivery tier-based site web application, which connects to the repository to show the content on a website.
- essentials - produces the setup web application, which helps you configuring and extending your Hippo CMS project.