I try to build an archetype structure like this, a webapp with some custom folders for our web-framework. Especially some dynamic folders which also will contain some files brought by the archetype.
└───src
└───main
└───webapp
└───WEB-INF
├───cfg
│ ├───log4j
│ └───resources
│ └───extensions
│ ├───${shortName}-business
│ └───${shortName}-layout
└───lib
I added a required property to my archetype-metadata.xml
to have an short-name for the project, which is used among other things for generating unique folders.
<requiredProperties>
<requiredProperty key="shortName" />
</requiredProperties>
The property shortName
i use in a fileSet
:
<fileSet>
<directory>[..]/resources/extensions/${shortName}-business</directory>
</fileSet>
<fileSet>
<directory>[..]/resources/extensions/${shortName}-layout</directory>
</fileSet>
The command to generate the archetype:
mvn archetype:generate -B \
-DgroupId=com.stackoverflow \
-DartifactId=stackoverflow-question -DarchetypeGroupId=com.stackoverflow \
-DarchetypeArtifactId=stackoverflow-archetype -DarchetypeVersion=1.0 \
-DshortName=soq
I assume to get the following folder structure:
..\
├───soq-business
└───soq-layout
But i get e.g. this name ${shortName}-business
as folder. Without beeing replaced with the property.
..\
├───${shortName}-business
└───${shortName}-layout
How can i achieve this? And how can i place files below soq-business
? Without knowing the folder name at this time?