The AEM Project Archetype is a Maven template that creates a minimal, best-practices-based Adobe Experience Manager (AEM) project as a starting point for your website.
The latest AEM Project Archetype can be found on GitHub.
To generate a project, adjust the following command line to your needs:
mvn -B org.apache.maven.plugins:maven-archetype-plugin:3.2.1:generate \
-D archetypeGroupId=com.adobe.aem \
-D archetypeArtifactId=aem-project-archetype \
-D archetypeVersion=XX \
-D appTitle="My Site" \
-D appId="mysite" \
-D groupId="com.mysite" \
XX
with the latest archetype version number.aemVersion=cloud
for AEM as a Cloud Service;aemVersion=6.5.0
for Adobe Managed Services, or on-premise.appTitle="My Site"
to define the website title and components groups.appId="mysite"
to define the Maven artifactId, the component, config and content folder names, as well as client library names.groupId="com.mysite"
to define the Maven groupId and the Java Source Package.Name | Default | Description |
---|---|---|
appTitle |
Application title, will be used for website title and components groups (e.g. "My Site" ). |
|
appId |
Technical name, will be used for component, config and content folder names, as well as client library names (e.g. "mysite" ). |
|
artifactId |
${appId} |
Base Maven artifact ID (e.g. "mysite" ). |
groupId |
Base Maven group ID (e.g. "com.mysite" ). This value must be a valid Java package name. |
|
package |
${groupId} |
Java Source Package (e.g. "com.mysite" ). |
version |
1.0-SNAPSHOT |
Project version (e.g. 1.0-SNAPSHOT ). |
aemVersion |
cloud |
Target AEM version (can be cloud for AEM as a Cloud Service; or 6.5.0 , or 6.4.4 for Adobe Managed Services or on-premise). |
sdkVersion |
latest |
When aemVersion=cloud an SDK version can be specified (e.g. 2020.02.2265.20200217T222518Z-200130 ). |
includeDispatcherConfig |
y |
Includes a dispatcher configuration either for cloud or for AMS/on-premise, depending of the value of aemVersion (can be y or n ). |
frontendModule |
general |
Includes a Webpack frontend build module that generates the client libraries (can be general or none for regular sites; can be angular or react for a Single Page App that implements the SPA Editor). |
language |
en |
Language code (ISO 639-1) to create the content structure from (e.g. en , deu ). |
country |
us |
Country code (ISO 3166-1) to create the content structure from (e.g. US ). |
singleCountry |
y |
Includes a language-master content structure (can be y , or n ). |
includeExamples |
n |
Includes a Component Library example site (can be y , or n ). |
includeErrorHandler |
n |
Includes a custom 404 response page that will be global to the entire instance (can be y or n ). |
includeCommerce |
n |
Includes CIF Core Components dependencies and generates corresponding artifacts. |
commerceEndpoint |
Required for CIF only. Optional endpoint of the commerce system GraphQL service to be used (e.g. https://hostname.com/grapql ). |
|
includeFormscommunications |
n |
Includes Forms Core Components dependencies, templates, form data models, themes, and generates corresponding artifacts for Forms Communications programs. |
includeFormsenrollment |
n |
Includes Forms Core Components dependencies, templates, form data models, themes, and generates corresponding artifacts for Forms Enrolment programs. |
sdkFormsVersion |
latest |
When aemVersion=cloud and one of includeFormsenrollment=y or includeFormscommunications=y , an Forms SDK version can be specified (e.g. 2020.12.17.02 ). |
datalayer |
y |
Activate integration with Adobe Client Data Layer. |
amp |
n |
Enable AMP support for generated project templates. |
enableDynamicMedia |
n |
Enables foundation DynamicMedia components in project policy settings and activates Dynamic Media features in Core Image component’s policy. |
enableSSR |
n |
Option to enable SSR for the front-end project |
precompiledScripts |
n |
Option to precompile the server-side scripts from ui.apps and attach them to the build as a secondary bundle artifact in the ui.apps project. aemVersion should be set to cloud . |
includeFormsheadless |
n |
Includes Forms Core Components dependencies, ui.frontend.react.forms.af , and headless artifacts. |
Archetype | AEM as a Cloud Service | AEM 6.5 | Java SE | Maven |
---|---|---|---|---|
47 | Continual | 6.5.7.0+ | 8, 11 | 3.3.9+ |
Setup your local development environment for AEM as a Cloud Service SDK or for older versions of AEM.
When running on Windows and generating the dispatcher configuration, you should be running in an elevated command prompt or the Windows Subsystem for Linux (see #329).
When executing the archetype in interactive mode (without the -B
parameter), the properties with default values cannot be changed, unless the final confirmation gets dismissed, which then repeats the questions by including the properties with default values in the questions (see
ARCHETYPE-308 for details).
You can’t use this archetype in Eclipse when starting a new project with File -> New -> Maven Project
since the post generation script archetype-post-generate.groovy
will not be executed due to an Eclipse issue. The workaround is to use the above command line and then in Eclipse use File -> Import -> Existing Maven Project
.
For more details on using the archetype including its benefits, options, and how its modules work, please see the Using the Archetype document.