使用必需的属性创建Maven原型

时间:2019-09-21 08:40:32

标签: maven maven-archetype


我创建了自己的原型,该原型在archetype-metadata.xml中定义了必需的属性:

(\d{5,6})(#\d{1})

此属性需要在src / main / resources / archetype-resources / pom.xml中用作属性:

string pattern = @"(\d{5,6})(#\d{1})";
string input = "111111#1";

MatchCollection matches = Regex.Matches(input, pattern);
foreach (Match match in matches)
{
  var firstGroupValue = match.Groups[1]; // "111111"
  var secondGroupValue = match.Groups[2]; // "#1"
}      

实际上,当我使用此原型创建项目时,系统要求我确认该属性的默认值:

<requiredProperty key="version.wildfly">
    <defaultValue>16.0.0.Final</defaultValue>
</requiredProperty>

但是,在生成的项目的pom.xml中,未在任何地方指定使用此属性。 pom.xml仅包含:

<properties>
    <version.server.bom>${version.wildfly}</version.server.bom>
</properties>

因此构建失败。我是否使用任何错误的模式将属性注入pom.xml中? 谢谢

1 个答案:

答案 0 :(得分:1)

不要使用,请尝试version-wildfly

看起来像原型将点分隔属性视为内部使用。参见Custom Properties