代码之家  ›  专栏  ›  技术社区  ›  Ceilingfish

将额外属性传递给mavenarchetype:generate

  •  13
  • Ceilingfish  · 技术社区  · 15 年前

    我已经为一个定制的项目设置创建了一个Maven原型,它工作得非常好,但是我想知道是否可以传递额外的参数,以便我可以做一些更有趣的模板。我试过类似的方法

    mvn archetype:generate -DarchetypeCatalog=local -DdbHost=localhost
    

    ...
    <option name="db.host.config.option" value="${dbHost}" />
    ...
    

    在我的模板中,但这似乎不起作用。有没有一种方法可以通过原型来实现这一点?

    3 回复  |  直到 13 年前
        1
  •  19
  •   Matteo Guarnerio Abdullah Barnawi    9 年前

    你只要提一下 dbHost 作为 requiredProperty 在里面 META-INF/maven/archetype-metadata.xml .

    <archetype-descriptor name="basic">
        <requiredProperties>
            <requiredProperty key="dbHost"/>
        </requiredProperties>
    </archetype-descriptor>
    
        2
  •  9
  •   magarciaschopohl    13 年前

    虽然这个问题已经很老了,但我将提供我自己使用Maven 3.04的经验

    一个项目的原型( 从项目创建 ),可以将属性文件作为参数传递。每一处房产 (键=值) 传递将依次生成 在原型中-metadata.xml 文件,默认值为“value”。
    另一方面,原型生成过程将在文本文件中查找字符串“value”,并将其替换为“${key}”

    使用 最终项目生成的原型(使用 生成 )我们有机会用-D提供这个参数的值 钥匙 = . 所以不需要编辑原型-metadata.xml 手工归档。

        3
  •  0
  •   JAveedMeandad    8 年前

    我们还需要通过在原型中维护命令提示符来传递属性值-metadat.xml 但此处名称不应包含“.”符号,因为它不允许您更新值。

    在Maven中,不使用类似的名称是有限制的prod.ex.version

    推荐文章