【问题标题】:Creating Maven ArcheType . Setting file name创建 Maven ArcheType 。设置文件名
【发布时间】:2013-09-12 19:47:02
【问题描述】:

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

这是一个例子。

artifactId= box

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

创建copy-box.txt 非常简单。但是如何用B大写创建Box.java呢?

【问题讨论】:

    标签: java maven maven-archetype


    【解决方案1】:

    我查看了在原型资源的文件名中创建替换的代码(可以找到here)。似乎参数的值是从上下文中获取的,这意味着它们没有被评估。在我看来,目前不可能(可悲,但确实)直接在文件名中使用评估机制。

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

    【讨论】:

      【解决方案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>
      

      别忘了将classPrefix 添加到archetype.properties

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-12-09
        • 2010-10-11
        • 1970-01-01
        • 2022-12-20
        • 1970-01-01
        • 2013-01-17
        • 1970-01-01
        • 2011-09-20
        相关资源
        最近更新 更多