正在创建Maven ArcheType。设置文件名

问题描述 投票:12回答:2

我想创建一个原型,用户可以在其中提供artifactId。然后,我要使用此artifactId并创建两个文件。

这里是一个例子。

artifactId= box

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

创建copy-box.txt非常容易。但是如何用Box.java资本创建B

java maven maven-archetype
2个回答
2
投票

我浏览了在原型资源的文件名中创建替换的代码(可以在here中找到)。看来参数的值是从上下文中获取的,这意味着它们没有被求值。我认为,目前暂时不能(很遗憾,但确实如此)直接在文件名中使用评估机制。

但是,通过简单地实现FilesetArchetypeGenerator接口,可以为原型生成做出很好的贡献。


1
投票

maven原型中存在错误。请参阅错误报告ARCHETYPE-406ARCHETYPE-397

固定后,可以根据您的情况定义和使用自定义requiredProperty

在archetype-metadata.xml中添加

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

不要忘记将classPrefix添加到archetype.properties

© www.soinside.com 2019 - 2024. All rights reserved.