3

我想从我的原型中创建一个 xml 文件,该文件的名称有两个连接在一起的变量。

示例:archetype-metadata.xml

<requiredProperties>
    <requiredProperty key="category"/>
    <requiredProperty key="description"/>
</requiredProperties>

给定 category="MyCategory" 和 description="MyDescription",我希望我的文件命名为“MyCateogryMyDescription.xml”。不是“MyCategory-MyDescription.xml”,也不是两者之间的其他任何东西。

这种奇怪的、具体的、不灵活的要求背后的原因显然是与我不想触及的标准的向后兼容性。

我的第一次尝试是明显的 __category____description__.xml,但事实证明生成的文件名为“MyCategory__description__.xml”。如果我在它们之间添加一些东西,比如作为 __category__-__description__.xml 的破折号,它会正确解析为“MyCategory-MyDescription.xml”,但这不是我之前所说的我想要的。

4

1 回答 1

3

您可以定义一个额外的requiredProperty,其默认值对应于描述类别标签值的组合(即通过通常的 ${...} 表示法访问)。

因此,考虑到上面引用的示例,您可以在archetype-metadata.xml文件中插入以下代码段

<requiredProperties>
    <requiredProperty key="category"/>
    <requiredProperty key="description"/>
    <requiredProperty key="categoryDescriptionComposition">
        <defaultValue>${category}${description}</defaultValue>
    </requiredProperty>
</requiredProperties>

最后将您的文件命名为__categoryDe​​scriptionComposition__.xml

于 2015-08-08T23:11:37.623 回答