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原型

maven原型_Maven原型创建技巧相关推荐

  1. Maven原型创建技巧

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

  2. Maven使用原型插件来创建项目

    2019独角兽企业重金招聘Python工程师标准>>> 转自:http://www.yiibai.com/spring/maven_creating_project.html Mav ...

  3. Prototype(原型)--对象创建模式

    Prototype(原型)–对象创建模式 一.意图 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 二.动机 1.在软件系统中,经常面临着"某些结构复杂的对象"的 ...

  4. Maven如何用Eclipse创建一个Maven项目【笔记自用】

    1.Maven的安装与设置环境变量 想要创建一个Maven项目需要先安装Maven,并且设置好环境变量 去下载Maven 设置环境变量 新建变量MAVEN_HOME,值为Maven的目录X:\XXX\ ...

  5. 2.03.05 原型与原型链

    2.03.05 原型 与 原型链 1.构造函数的弊端 介绍:构造函数方法很好用,但是存在一个浪费内存的问题.我们以Dog对象为例: function Dog(name, breed, weight) ...

  6. 这是你掉的“原型与原型链”吗?快捡起来吧》(^o^)《

    一.从一个小例子到原型链 豆豆家是一个商业世家,豆豆的爷爷创建了世界上最大的商业中心* 豆豆的爸爸创建了世界上最大的餐饮连锁店* 而豆豆开建了豆豆爸和豆豆爷都没有创建的电竞城* 但是,豆豆爸没有告诉豆 ...

  7. 原型和原型链原型继承_原型制作的最甜蜜的一面

    原型和原型链原型继承 交战的原因 (Casus belli) Let's start from the context: I was working as a UX/UI designer for a ...

  8. 浅谈JS原型与原型链(一)

    最近学习JavaScript原型与原型链的时候,被这块知识烧得脑壳疼,prototype与__proto__混淆不清.网上各种图解,都画的好复杂,绕老绕去,不明所以,看得越来越糊涂.还是亲自动手敲敲, ...

  9. JS原型与原型链终极详解

     一. 普通对象与函数对象   JavaScript 中,万物皆对象!但对象也是有区别的.分为普通对象和函数对象,Object ,Function 是JS自带的函数对象.下面举例说明 functi ...

最新文章

  1. 零基础学习大数据人工智能,学习路线篇!
  2. [知乎回答] 前端是否要学习 Node.js?
  3. 分布式事务解决方案框架(LCN)
  4. 你第1个100万怎么赚的?
  5. SELinux 基础命令
  6. jupyter快捷键、markdown语法及markdown的算式语法
  7. 【JDBC】数据库连接池
  8. 红米手机计算机软件,详解红米手机连接电脑方法
  9. 每日一题 - 微博系统崩溃,如何解决 ?
  10. 打造立体文案矩阵库之二:直复式营销文案
  11. 【黑灰产犯罪研究】网络水军
  12. 计算机毕业设计Django毕业设计论文源代码服装展示平台电商商城购物系统
  13. mysql查询叠字的名字_好听到爆的叠字小名
  14. Codeforces 524C Idempotent functions
  15. Hadoop学习(1)--Hadoop介绍
  16. c语言顺序线性表的实现
  17. [Swift通天遁地]一、超级工具-(16)使用JTAppleCalendar制作美观的日历
  18. uniapp中App升级和wgt热更新的逻辑处理
  19. java计算机毕业设计H5醉美南湾湖网站设计源码+mysql数据库+系统+lw文档+部署
  20. Exp6 信息搜集与漏洞扫描 20164303

热门文章

  1. laravel如何生成swagger接口文档
  2. 【Java】jdk和eclipse下载安装
  3. 今天 ,给大家变个魔术!!!
  4. java中你知道的这四种代码块吗?
  5. 人脸认证源码faceIdentify
  6. java通过commons-fileupload实现多张图片的上传(servlet)
  7. 2017蓝桥杯省赛---java---A---4(方格分割)
  8. 264. 丑数 II---LeetCode---JAVA(动态规划)
  9. php 输出01,php基础01_thinkphp输出Hello World-Go语言中文社区
  10. MybatisPlus学习(四)条件构造器Wrapper方法详解