前言
新建一个model,其中有一个选项“Create from archetype”感觉很奇怪,我就来了解一下这些内容,做一下笔记,
什么是Archetype
Archetype翻译过来就是:骨架,项目工程骨架。
- 优点:使用Archetype提供的好的方法,是开发者能够使用最佳实践来快速的构建和组织一致化的工程。在Maven工程中,我们努力使用Archetype来尽可能快的给用户提供示例工程,同时也会把Maven的最佳实践介绍给新的用户。一个新的用户可以使用工作中的Maven工作作为跳板来研究更过的Maven中功能。我们也可以使用Archetype的添加机制,这样就意味着允许我们抓取Archetype中项目片段,并把它们添加到既存的工程中。Maven网站的Archetype就是很好的例子。例如,你可以使用“quick start archetype”来生成一个工程,然后就可以通过其中既存的“site archetype”来快速的创建一个网址工程。你能够使用Archetype来做很多这样的事情。
在你的团队中可能想要标准化的J2EE开发,这需要你提供EJBs、或者是WARs、或者是Web services的原型。一旦在你团队资源库中创建和部署这些原型,它们就可以在你团队内共享使用。
有那些Archetype
有很多Archetype,如图所示:
但是基本上我们使用的就三个:
- cocoon-22-archetype-webapp
- maven-archetype-quickstart
- maven-archetype-webapp
我们首先看下不选择archetype生成的model是怎么样的?如下图所示:
当然,如果你不需要test、resources,你也可以手动删掉。
cocoon-22-archetype-webapp
个人用的比较少,
maven-archetype-quickstart
创建一个 maven-archetype-quickstart 的model,如图所示:
对,你没看错,啥都没有,就一个pom.xml文件,比不选择archetype都简单,截图是我手动新建的model,很奇怪为啥越来越少,也不知道是我IDEA的问题还是怎么样?这个比较适合不提供web页面的模块,比如提供对dubbo service的封装model,或者common模块,用于内部。
maven-archetype-webapp
这比较像一个web服务,实际操作后如下所示:
maven提供的41个骨架原型,这里就不一一列举了。感兴趣大家可以自己建一个测试工程看看。