我最近需要为姜黄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原型创建技巧相关推荐

  1. maven原型_Maven原型创建技巧

    maven原型 我最近需要为姜黄SOA项目创建一些Maven原型. 对于不了解的人来说, Maven原型是一种基于一些预先罐装的项目模板生成项目的方法. 对于当前的姜黄SOA原型,它将创建一个多模块M ...

  2. maven原型_创建自定义Maven原型

    maven原型 Maven原型是项目模板,可以帮助我们根据其类型快速创建maven入门项目 . 这是一个不费吹灰之力地引导Maven项目的好工具. 我们可以使用多种原型. 一些流行的原型包括– mav ...

  3. 创建自定义Maven原型

    Maven原型是项目模板,可以帮助我们根据其类型快速创建maven入门项目 . 这是一个非常省力的引导Maven项目的好工具. 有许多可供选择的原型. 一些流行的原型包括– maven-archety ...

  4. 使用Maven原型高效创建Eclipse模块

    Maven Archetype是一个项目模板工具包,可为开发人员提供生成内置或自定义脚手架工件的参数化版本的方法. 最近,我将其应用于我们的Xiliary P2存储库,以实现Eclipse模块存根创建 ...

  5. idea 原型创建maven项目报错 - The desired archetype does not exist

    通过idea原型方式创建maven项目,结果报错idea - The desired archetype does not exist (org.apache.maven.archetypes:mav ...

  6. maven java archetype_使用Maven Archetype创建Java项目模板

    1.over view 简而言之,Archetype是一个Maven项目模板工具包.原型被定义为一种原始的模式或模型,所有其他同类的东西都是从中产生的.当我们试图提供一个提供生成Maven项目的一致方 ...

  7. Spring MVC 4快速入门Maven原型已改进

    Spring Boot使Spring入门非常容易. 但是仍然有人对不使用Spring Boot并以更经典的方式引导应用程序感兴趣. 几年前,我创建了一个原型(早于Spring Boot),简化了引导S ...

  8. 建立自己的GWT Spring Maven原型

    大家好, 在观看Justin撰写的有关Spring和GWT的非常有趣的文章时,我认为展示如何构建自己的自定义Maven原型非常有用.我们将展示的原型基于Justin的上一个项目,并包括各种技术,例如S ...

  9. maven项目包导不进去_IntelliJ Idea下Maven插件使用技巧

    标签:Idea Maven IntelliJ Idea下Maven插件使用技巧,对于开发人员快速上手,并可能有效提高开发效率,特将此整理分享给大家. 1.Idea下载右侧菜单可打开Maven操作面板, ...

最新文章

  1. html 可调节进度条控件,jQuery简单实用的轻量级进度条插件
  2. 三菱的触摸屏usb驱动_资深工程师一步一步教你PLC与西门子触摸屏的RS485通信
  3. 尝试jquery插件的开发
  4. c语言一个整数各位数字个数_C语言实现把字符串中的数字转换成整数
  5. 存储过程的参数可以使用sql的函数
  6. delegate和protocol
  7. stl2xml.py 代码实现了stl格式转化为xml格式
  8. 若依框架如何进行单元测试
  9. 开发 Windows 8 Bing地图应用(4)
  10. 惠普打印机故障代码_惠普打印机故障代码
  11. win7计算机个性化设置,Win7系统如何进行个性化设置 Win7系统个性化设置方法【详解】...
  12. 迷宫里抓神兽Java游戏_塞尔达传说荒野之息全神兽迷宫进入方法 四大神兽怎么打?_游侠网...
  13. 合取式/合取范式/主合取范式/重言式/矛盾式 基本概念
  14. 老毛桃u盘装系统linux,老毛桃U盘装系统综合教程
  15. 小巫随笔12(致小巫逝去的童年),2021最新阿里Android面试流程
  16. n11mysql表设计_n11(n11数据库管理工具)
  17. ps的切片用来转换html,Photoshop切片导出HTML+CSS
  18. 通过阿里云API查询账户余额
  19. 八年级上册历史知识点(第1课 鸦片战争)
  20. 简单的图像几何校正实践

热门文章

  1. 制作FAT12软盘以查看软盘的根目录条目+文件属性+文件内容
  2. Mac 环境变量配置
  3. Java 泛型实现方法 — 擦拭法
  4. exchanger_如何通过示例在Java中使用Exchanger
  5. 将经过身份验证的用户注入Spring MVC @Controllers
  6. kata_小规模流处理kata。 第2部分:RxJava 1.x / 2.x
  7. 多线程线程池的实现java_如何在Java中实现线程池
  8. netty socket_Netty:另一种Web(Socket)服务器
  9. java ee4.8下载_在WildFly 8.2中修补焊接3 – Java EE 8的第一个实验RI
  10. jboss 4.3.0_JBoss BPM Suite 6.0.3版本的5个实用技巧