maven原型_Maven原型创建技巧

maven原型

我最近需要为姜黄SOA项目创建一些Maven原型。 对于不了解的人来说, Maven原型是一种基于一些预先罐装的项目模板生成项目的方法。 对于当前的姜黄SOA原型,它将创建一个多模块Maven项目,其中包含Interface和Service项目以及基本的WSDL和适当配置的POM。

可以在命令行或通过m2eclipse的New Maven Project向导运行。 通过支持Maven原型,其他IDE(例如NetBeans,IntelliJ等)也可以使用它。
开始使用Maven原型最难的是存在的相对较差的文档。 除了最基本的用途( archetype:create-from-project )以外,它可以在已有的maven项目或父项目的情况下创建原型,没有什么可做的。 因此,这里有一些提示。

目录/文件名替换
在模板生成过程中,有些情况下您要输出不同的模块名称,有时还要输出不同的文件名。 为此,请使用变量名重命名您要替换的目录或文件部分。 例如,如果您指定__rootArtifactId__作为目录名称或文件名的一部分,则将替换在mvn archetype:generate期间输入为artifactId的内容。 您可以对自定义属性执行相同的操作。 例子

内置属性
有一些内置属性可以在替换期间使用。 这些是:

  • groupId
  • artifactId
  • rootArtifactId
  • package –一个基本的Java程序包名称,在项目创建期间放置在src / main / java中。

您也可以在POM和其他文件模板中使用它们。

Archetype-metadata.xml
创建项目后,存储在archetype-resources / META-INF / maven文件夹中的archetype-metadata.xml是您需要调整要生成的内容和方式的地方。

对于模块,您需要调整属性:

  • id –这是将要生成的模块的名称。
  • dir –模板目录
  • 名称-将放置在pom文件中的工件ID。

对于id和name属性,可以使用标准的Maven属性规范:$ {someproperty}。 对于目录,您需要使用特殊的__someproperty__表示法。 在大多数情况下,这将是__rootArtifactId__。 姜黄SOA原型中的一个例子。

必需的属性
必需属性是提示您提示可在模板中替代的其他信息的方式。 生成过程中将提示您指定的任何属性。 您也可以使用-D选项从命令行传递它们。 必需的属性在模板中作为属性引用,并在生成过程中被替换。

请注意指定默认值,在生成过程中不会提示您输入默认值。 仍可以使用-D选项覆盖它们。

原型目录
拥有原型目录很重要。 如果您使用的是Nexus 1.9.x,它将自动搜索您的存储库并为每个存储库生成原型目录。 它扫描所有原型,并且在部署原型后立即更新目录条目。 如果您还没有原型目录,那么maven可以从本地存储库为您创建一个原型目录。 只需运行mvn archetype:crawl。 输出将放置在您的.m2存储库中。 原型很重要,因为它们可以让其他人知道您的自定义原型,并提供一种共享和发现它们的方式。

Hopefull提供了这些技巧,您可以免除我所忍受的一些麻烦。 我的下一个任务是帮助Minerva项目创建一些原型,以使Eclipse项目可以更轻松地开始使用Tycho。

您还有其他提示或需要注意的事项吗? 如果是这样,请随时添加评论。

参考:来自JCG合作伙伴的 Maven原型创建技巧   David Carver在智力抽筋博客上。


翻译自: https://www.javacodegeeks.com/2012/02/maven-archetype-creation-tips.html

maven原型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值