【问题标题】:Creating Maven archetype using required properties使用所需属性创建 Maven 原型
【发布时间】: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


【解决方案1】:

不要使用dot,试试version-wildfly

看起来像原型考虑点分割属性作为内部使用。见Custom Properties

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-19
    • 1970-01-01
    • 2016-01-17
    • 2016-03-29
    相关资源
    最近更新 更多