Creating new AEM Project using Wizard requires Advanced settings
It appears that during the creation of the new AEM Project, some of the project template variables are not being set. This causes the user to have to open up the Advanced tab and fill in the variables manually.
Steps to Reproduce (see screencap below):
- In Eclipse 2025-09, select
File/New/Project... - In the New Project dialog, select
AEM/AEM Sample Multi-module projectand hitNext - Leave the location at default and leave the Archetype at the default (archetype version 54), and hit
Next - Change the name to
sampleand an error appearsgroup Id must be specifiedeven though a default group id is visible - Enter a
Group Id(for examplecom.github.rmcdougaand an error appearsartifact Id must be specifiedeven though a default artifact id is visible - Enter an
Artifact Id(for examplesample-app) and an error appearspackage must be specified. In order to set the package, the user must expand theAdvancedproperties. - Enter the a
Packagevalue and an error appearsappId must be specified. Enter the appId and the wizard can be move to the next screen.
Expected Behaviour:
-
Reasonable defaults should be able to be derived for all the advanced properties from the basic properties. Any mandatory advanced properties that don't have reasonable defaults or can't be derived from the basic properties should be promoted into the basic properties section. I feel a user shouldn't be required to expand the Advanced properties unless they wish to customize the generated maven project beyond the defaults.
-
Arguably, the basic properties should accept the pre-populated values or something should indicate that those prepopulated values can't be used directly (maybe make the values italisized or semi-transparent to indicate that they are not "real"). This is a minor point and doesn't prevent the wizard from being used.
Here is a screencap of the process:
Thanks for the report.
I think that "appId" needs to be promoted to a top-level field because it always requires user input. The package field should default to the group id but I'm not sure how to make this usable because both can be edited independently. One idea is to keep the values in sync as long as the 'Advanced' section is collapsed and and disconnect them for good when it's expanded and the user can edit it manually.
I think that "appId" needs to be promoted to a top-level field because it always requires user input. The package field should default to the group id but I'm not sure how to make this usable because both can be edited independently.
My recollection (rightly or wrongly) was that this appId and package fields used to be generated from the basic section's Name field. Older versions of the plugin would lowercase the Name and replace non-alphanumerics with dashes. It then used the resulting "cleaned" version as the appId and appended the appId to the groupId to derive the package name.
I had assumed that the code stopped working because of changes to the AEM maven archetype.
One idea is to keep the values in sync as long as the 'Advanced' section is collapsed and then disconnect them for good when it's expanded and the user can edit it manually.
That's a reasonable approach. I thought the older versions of the plugin would keep the three basic fields in sync with advanced but only sync the derived fields if they were blank (i.e. once set, they were only recalculated again if empty and the associated basic field changed).
The aem-project-archetype instructs the user to only set
-D appTitle="My Site" \
-D appId="mysite" \
-D groupId="com.mysite"
I think we can do the same and make sure that the defaults are applied following the documentation from https://github.com/adobe/aem-project-archetype?tab=readme-ov-file#available-properties .
It's not yet clear to me if it's worth keeping the extra 'Package' and 'Version' text inputs from the advanced section or can we move everything to the table and only add the required inputs ( app title, app id and group id ) at the top.