Vogliamo creare un archetipo parziale per aggiungere uno custom-pom.xml
e altre risorse a un progetto esistente. Il pom personalizzato verrà quindi utilizzato nel progetto generato tramite mvn -f custom-pom.xml
.Maven Archetype Plugin - Come utilizzare un archetipo parziale che non contiene pom.xml?
Il nostro archetipo contiene quindi un src/main/resources/archetype-resources/osgi-pom.xml
, ma non contiene uno pom.xml
nella stessa directory.
Abbiamo utilizzato archetype:generate
parametrizzato in modo appropriato per eseguire questo archetipo su un progetto esistente. Questo produce:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:2.2:generate (default-cli) on project standalone-pom: org.apache.maven.archetype.exception.ArchetypeGenerationFailure: Error merging velocity templates: Unable to find resource 'archetype-resources/pom.xml' -> [Help 1]
Come prova, abbiamo creato un manichino archetype-resources/pom.xml
poi ri-correva l'obiettivo generate
. Questo produce:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:2.2:generate (default-cli) on project standalone-pom: Don't override file /tmp/archetype/fabric-rf-server/pom.xml -> [Help 1]
Abbiamo visto this example che non ha archetype-resources/pom.xml
. Tuttavia, stiamo usando lo standard Archetype 2.0x, che è probabilmente il motivo per cui la tattica funziona per quell'autore ma non noi stessi.
Come possiamo risolvere questo problema? Un archetipo parziale non è adatto per l'inserimento di risorse in un progetto Maven esistente? Il progetto deve invece essere non-Maven?
Abbiamo setacciato il Maven Archetype plugin 2.2 documentation ma non si parla quasi di archetipi parziali e del loro comportamento specializzato.
Maven sembra soffrire di qualche grave disturbo bipolare. Se fornisco archetype-resources/pom.xml, mi dice di non riscriverlo. Se non lo do, mi dice che ne ha bisogno. Se lo do ma vuoto, si lamenta che non inizia con. Se lo avvio con , torna al passaggio 1 e mi informa di non riscrivere pom.xml. Come sei riuscito a fuggire da questo fermo22? –
kaqqao
@kaqqao Non sono sicuro, questo è stato tanto tempo fa.Ho ancora il file di lavoro - quando si aggiunge '' presumo che tu stia includendo tutti i soliti namespace guff ecc.? Quindi il mio lavoro inizia con questo: ' 4.0 .0 modelVersion> ' –
KomodoDave