【发布时间】:2019-09-21 08:40:32
【问题描述】:
我创建了自己的原型,它在 archetype-metadata.xml 中定义了一个必需的属性:
<requiredProperty key="version.wildfly">
<defaultValue>16.0.0.Final</defaultValue>
</requiredProperty>
这个属性需要在src/main/resources/archetype-resources/pom.xml中作为属性使用:
<properties>
<version.server.bom>${version.wildfly}</version.server.bom>
</properties>
确实,当我使用此原型创建项目时,系统会要求我确认属性的默认值:
version.wildfly: 16.0.0.Final
Y: : Y
但是,在生成的项目的 pom.xml 中,没有指定任何地方使用该属性。 pom.xml 仅包含:
<properties>
<version.server.bom>${version.wildfly}</version.server.bom>
</properties>
因此构建失败。我是否使用任何错误的模式将属性注入 pom.xml ? 谢谢
【问题讨论】:
-
对于原型,您需要定义哪些文件被“过滤”,哪些不在相应的 xml 文件中。此外,您可能需要进行一些转义,因为 ${} 在 Maven 中也有含义(不仅在用于原型的速度中)。抱歉有点含糊,但我现在不在办公室,手头没有直接的例子。
标签: maven maven-archetype