maven-2 - 将额外属性传递给 Maven 原型(prototype) :generate

标签 maven-2 maven-archetype

我为自定义项目设置创建了一个 Maven 原型(prototype),效果很好,但我想知道是否可以传递额外的参数,以便我可以做一些更有趣的模板。我尝试了类似的东西

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

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

在我的模板中,但这似乎不起作用。有没有办法用原型(prototype)来做到这一点?

最佳答案

虽然这个问题很老了,但我会提供我自己对 Maven 3.04 的经验

在从项目 ( create-from-project ) 生成原型(prototype)时,您可以将属性文件作为参数传递。传入的每个属性 (key=value) 将依次在 archetype-metadata.xml 文件中生成一个 requiredProperty,其中“value”作为其默认值。
另一方面,原型(prototype)生成过程将在我们的文本文件中查找字符串“value”并将其替换为“${key}”(即 dbHost=db.host.config.option 将查找“db.host. config.option"并将其替换为 ${dbHost})。

在使用原型(prototype)生成最终项目时(使用 生成 ),我们有机会使用 -Dkey=value 为该参数提供值。因此无需手动编辑archetype-metadata.xml 文件。

关于maven-2 - 将额外属性传递给 Maven 原型(prototype) :generate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3456676/

相关文章:

maven-2 - 如何备份 nexus 存储库管理器

java - Maven:如何将本地jar打包成最终jar?

maven - Gradle 与 Maven 原型(prototype)相对应?

java - 为简单的 java 项目选择什么原型(prototype)

maven-2 - 马文 : local development deploy vs bundling for distribution

java - 将现有的 Eclipse 项目转换为 Maven 项目

maven-2 - Mac OS X Mavericks 上我的 m2 文件夹在哪里

java - 从本地原型(prototype)创建新项目时如何更改 pom.xml 属性?

java - 创建 Maven 原型(prototype)

java - 在自定义 Maven 原型(prototype)中使用的 JCodeModel