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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/356638.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android 副mic测试,【收藏】Android Audio Framework CTS Verifier 测试方法

This new suite of tests requires human intervention and some external hardware including a Loopback Plug, a USB reference microphone and external speakers. For devices without 3.5 mm (⅛”) headset port, the user will be able to skip the test and mark it a…

python的数与字符串

数的类型: >>符号整数型(int):0、1、-1 >>长整型(long):88888888、999999999 >>浮点型(float):2.77777、3.4445544 >>布尔型(bool):True、False >>复数型(complex):42j、-92…

Java在几乎所有方面都可以胜任本机响应

我与一位同事讨论了Java与JavaScript的话题,这是一个有问题的话题。 然后,他提到React Native多么出色,我决定我必须研究一下,也许要为Codename One掌握一些想法…… 那里有一些不错的主意,但是它们都不是革命性的或例…

魅蓝android底层是什么,魅蓝E2的手机系统是什么

魅蓝E2的手机系统是什么魅蓝E2的手机系统是Flyme 6系统。魅蓝E2搭载了基于YunOS底层深度定制的Flyme 6系统,相交于Flyme 5系列,Flyme 6拥有更轻巧明快的设计元素,辅以让人称颂的人工智能技术One Mind,可以有效保障魅蓝E2日常使用流…

android夜间模式揭露动画,Android Material Design系列之夜间模式

今天我们讲讲夜间模式的实现,这篇文章的名字应该叫:《Android Material Design系列之夜间模式》。在Android 5.0 之后,实现夜间模式并非很难了,支持的5.0库提供了非常简单的实现方式。不信,你就往下看。首先说&#xf…

reader dc

https://get.adobe.com/cn/reader/otherversions/转载于:https://www.cnblogs.com/zengkefu/p/5981109.html

jboss drools_JBoss Drools –入门

jboss drools这篇文章是关于我如何掌握JBoss Drools的 。 其背后的原因是:SAP收购了我公司当前的规则引擎,而Drools是我们将寻找的另一种选择,只要有人有能力提高概念验证的能力。 尽管似乎有大量的文档,但是我总是会通过示例来发…

Android开发环境(IDE)

一:Eclipse 1、装JDK; 2、装Eclipse;//应与JDK同为32/64位。 3、装ADT; 4、装android sdk; 推荐下载ADT bundle包(包含Eclipse,Android SDK Manager,sdk)。此Eclipse已经…

华为荣耀30pro鸿蒙内测版,荣耀手机用户放心了 消息称荣耀30 Pro正在内测华为鸿蒙OS...

2021-5-11 13:12【天极网手机频道】鸿蒙OS2.0手机版目前正在大规模开发者公测阶段,有消息称6月份将开始大规模向华为手机用户推送。而对于不少荣耀手机用户来讲,他们也十分期待体验鸿蒙OS,但荣耀品牌已经与华为品牌分离,这让不少荣…

Docker容器中的WildFly Swarm JAX-RS微服务

这些天,每个人都在谈论微服务。 关于如何在企业级应用这些原则,有很多意见和想法,而很少有示例。 可以肯定的是,即使在几天前的会议上,我也很少发现有人在生产环境中运行Docker容器。 当我问起初次体验以及是否有人玩过…

iterator and iterable

前者是迭代器 后者是接口,List等继承这个接口 转载于:https://www.cnblogs.com/mayidudu/p/5986649.html

C#解析json文件的方法

C# 解析 json JSON(全称为JavaScript Object Notation) 是一种轻量级的数据交换格式。它是基于JavaScript语法标准的一个子集。 JSON采用完全独立于语言的文本格式,可以很容易在各种网络、平台和程序之间传输。JSON的语法很简单,易于人阅读和编写&#x…

spring 线程池_Spring线程池服务

spring 线程池线程池对于执行同步和异步过程非常重要。 本文介绍如何使用Spring开发和监视线程池服务。 创建线程池已通过两种替代方法进行了说明。 二手技术 : JDK 1.6.0_21 春天3.0.5 Maven的3.0.2 步骤1:建立已完成的专案 创建一个Maven项目&…

arrayQueue

用数组实现队列&#xff1a; 定义头文件&#xff1a; 1 #include<stdio.h>2 #include<stdlib.h>3 #define MAX_SIZE 104 int queue[MAX_SIZE];5 int front-1;6 int rear-1;7 8 int IsFull(int queue[]); //判断队列是否已满 9 int IsEmpty(int queue[]); …

109. Convert Sorted List to Binary Search Tree

不定期更新leetcode解题java答案。 采用pick one的方式选择题目。 题意为将一个增序单链表转换成为二叉搜索树。 可以采用递归的方式依次确认该层应选择的单链表位置作为树的节点依次向下进行。每次选择做树该层的节点为链表的中间值。 代码如下&#xff1a; 1 /**2 * Definit…

带有骆驼,ActiveMQ,Elasticsearch的HL7关键用例

对于可以说HL7协议格式的系统&#xff0c; HL7 over MLLP是一种非常常见的传输机制。 JBoss Fuse是一个非常强大的微服务样式集成平台&#xff0c;在为关键医疗保健提供者构建灵活&#xff0c;有弹性&#xff0c;高可用性的集成方案方面拥有良好的记录。 此外&#xff0c;在JCA…

android 包裹内容,Android开发中Bundle用法 包裹数据

SDK里是这样描述&#xff1a;A mapping from String values to various Parcelable types。它帮助我将数据打包传入intent里面&#xff0c;为使用这些数据提供了便利。protected void onListItemClick (ListView l, View v, int position, long id){super.onListItemClick(l, v…

安卓高级6 SnackBar

引言 文&#xff0f;李牧羊&#xff08;简书作者&#xff09; 原文链接&#xff1a;http://www.jianshu.com/p/2654e6bda3b1 著作权归作者所有&#xff0c;转载请联系作者获得授权&#xff0c;并标注“简书作者”。 在之前我有提到这一篇Android Design Support Library系列文章…

html语言及语法结构,HTML语法结构.ppt

HTML语法结构HTML超文本标识语言 HTML超文本标识语言 HTML概念 HTML(Hyper Text Markup Language 超文本标识语言) 是一种用来制作超文本文档的简单标记语言。用HTML编写的超文本文档称为HTML文档。 HTML超文本标识语言 HTML文档的编写方法 1.手 工 直 接 编 写 记事本等&#…

利用Aspose.Word控件实现Word文档的操作

Aspose系列的控件&#xff0c;功能都挺好&#xff0c;之前一直在我的Winform开发框架中用Aspose.Cell来做报表输出&#xff0c;可以实现多样化的报表设计及输出&#xff0c;由于一般输出的内容比较正规化或者多数是表格居多&#xff0c;所以一般使用Aspose.Cell来实现我想要的各…