我想要实现的是使用archetype-metadata.xml中的以下代码,以便从一个模板创建与下面的项目一样多的文件。
<requiredProperty key="item_1">
<defaultValue>item_1</defaultValue>
</requiredProperty>
.
.
.
<requiredProperty key="item_n">
<defaultValue>item_n</defaultValue>
</requiredProperty>
我退出使用Custom Maven Archetypes,因为它无法从一个模板创建多个文件。相反,我使用了Velocity Engine,我能够完全自由地完成我想要的一切。
元数据文件是原型的一部分,您作为原型开发人员提供,因此您的用户将不会编辑该文件。如果需要修改文件内容,可以使用Apache Velocity。考虑使用逗号分隔值(或其他适当的char分隔符)添加一个属性,其中默认值为单个值:
<requiredProperty key="itemList">
<defaultValue>item_1</defaultValue>
</requiredProperty>
然后,使用Apache Velocity循环遍历itemList中提供的值,添加适当的代码块。请参阅this answer的想法。
我不确定是否可以使用这种技术来创建单独的文件,但这是我开始探索的地方。