Ich versuche eine Archetyp-Struktur wie diese zu erstellen, eine Webapp mit einigen benutzerdefinierten Ordnern für unser Web-Framework. Vor allem einige dynamische Ordner, die auch einige Dateien enthalten, die vom Archetyp stammen.Wie erstellt man dynamische benannte Ordner mit Maven2 Archetype?
└───src
└───main
└───webapp
└───WEB-INF
├───cfg
│ ├───log4j
│ └───resources
│ └───extensions
│ ├───${shortName}-business
│ └───${shortName}-layout
└───lib
Ich habe eine erforderliche Eigenschaft meiner archetype-metadata.xml
einen Kurznamen für das Projekt zu haben, die unter anderem zur Erzeugung von eindeutigen Ordner verwendet wird.
<requiredProperties>
<requiredProperty key="shortName" />
</requiredProperties>
Die Eigenschaft shortName
i in einem fileSet
verwenden:
<fileSet>
<directory>[..]/resources/extensions/${shortName}-business</directory>
</fileSet>
<fileSet>
<directory>[..]/resources/extensions/${shortName}-layout</directory>
</fileSet>
Der Befehl das Urbild zu generieren:
mvn archetype:generate -B \
-DgroupId=com.stackoverflow \
-DartifactId=stackoverflow-question -DarchetypeGroupId=com.stackoverflow \
-DarchetypeArtifactId=stackoverflow-archetype -DarchetypeVersion=1.0 \
-DshortName=soq
Ich gehe davon aus der folgenden Ordnerstruktur zu erhalten:
..\
├───soq-business
└───soq-layout
Aber ich bekomme z.B. dieser Name ${shortName}-business
als Ordner. Ohne durch die Immobilie ersetzt zu werden.
..\
├───${shortName}-business
└───${shortName}-layout
Wie kann ich das erreichen? Und wie kann ich Dateien unter soq-business
platzieren? Ohne den Namen des Ordners zu diesem Zeitpunkt zu kennen?
Danke, das funktioniert super. – codevour
Der Blog ist nicht verfügbar. Vielleicht ist der Link kaputt, könnte jemand es bitte aktualisieren! –
alle benötigten Informationen sind in der Antwort selbst –