创建 Maven ArcheType。设置文件名。

12

我想创建一个原型,让用户可以提供artifactId。然后我想使用这个artifactId创建两个文件。

以下是一个示例。

artifactId= box

FILE 1: copy-box.txt
FILE 2 : Box.java

创建 copy-box.txt 很容易。但如何创建首字母大写的 Box.java 文件呢?

2个回答

2

在maven原型中存在一个错误。请查看错误报告ARCHETYPE-406ARCHETYPE-397

修复后,将可以定义和使用自定义的requiredProperty

在archetype-metadata.xml中添加:

<requiredProperties>
  <requiredProperty key="classPrefix" >
    <defaultValue>
      ${artifactId.substring(0,1).toUpperCase()}${artifactId.substring(1)}
    </defaultValue>
  </requiredProperty>
</requiredProperties>

不要忘记在archetype.properties中添加classPrefix

2
我查看了创建原型资源文件名替换的代码(可以在此处找到:这里)。似乎参数的值是从上下文中获取的,这意味着它们没有被评估。在我看来,目前无法直接在文件名中使用评估机制(很遗憾,但这是事实)。
然而,通过简单地实现FilesetArchetypeGenerator接口,可以为原型生成做出良好的贡献。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接