什么是 archetype
新建Maven project项目时,需要选择archetype
Archetype是Maven工程的模板工具包。一个Archetype定义了要做的相同类型事情的初始样式或模型。这个名称给我们提供来了一个一致的生成Maven工程的方式。Archetype会帮助作者给用户创建Maven工程模板,并给用户提供生成相关工程模板版本的参数化方法。
使用Archetype提供的好的方法,是开发者能够使用最佳实践来快速的构建和组织一致化的工程。在Maven工程中,我们努力使用Archetype来尽可能快的给用户提供示例工程,同时也会把Maven的最佳实践介绍给新的用户。一个新的用户可以使用工作中的Maven工作作为跳板来研究更过的Maven中功能。
我们也可以使用Archetype的添加机制,这样就意味着允许我们抓取Archetype中项目片段,并把它们添加到既存的工程中。Maven网站的Archetype就是很好的例子。例如,你可以使用“quick start archetype”来生成一个工程,然后就可以通过其中既存的“site archetype”来快速的创建一个网址工程。你能够使用Archetype来做很多这样的事情。
常用的 archetype
maven-archetype-quickstart
一个包含junit依赖声明的pom.xml- src/main/java主代码目录及一个名为App的类
- src/test/java测试代码目录及一个名为AppTest的测试用例
maven-archetype-webapp
一个最简单的Maven war项目模板,当需要快速创建一个Web应用的时候可以使用它。生成的项目内容包括:
一个packaging为war且带有junit依赖声明的pom.xml- src/main/webapp/目录
- src/main/webapp/index.jsp文件
- src/main/webapp/WEB-INF/web.xml文件
其他 archetype
maven-archetype-archetype:一个样例原型
maven-archetype-j2ee-simple:简单的J2EE应用程序样例
maven-archetype-mojo:Maven插件样本的示例
maven-archetype-plugin:Maven插件样本
maven-archetype-plugin-site:Mave插件网站的样例
maven-archetype-portlet:一个简单的portlet应用程序
maven-archetype-simple:一个简单的Maven工程
maven-archetype-site:Maven网站的样例,它演示了对诸如APT、XDoc和FML等文档类型的支持,并演示了如果把网站国际化(i18n)
maven-archetype-site-simple:Maven网站样例
appfuse-basic-jsf (创建一个基于Hibernate,Spring和JSF的Web应用程序的原型)
appfuse-basic-spring(创建一个基于Hibernate,Spring和Spring MVC的Web应用程序的原型)
appfuse-basic-struts(创建一个基于Hibernate,Spring和Struts 2的Web应用程序的原型)
appfuse-basic-tapestry(创建一个基于Hibernate,Spring 和 Tapestry 4的Web应用程序的原型)
appfuse-core(创建一个基于Hibernate,Spring 和 XFire的jar应用程序的原型)
appfuse-modular-jsf(创建一个基于Hibernate,Spring和JSF的模块化应用原型)
appfuse-modular-spring(创建一个基于Hibernate, Spring 和 Spring MVC 的模块化应用原型)
appfuse-modular-struts(创建一个基于Hibernate, Spring 和 Struts 2 的模块化应用原型)
appfuse-modular-tapestry (创建一个基于 Hibernate, Spring 和 Tapestry 4 的模块化应用原型)
maven-archetype-marmalade-mojo(一个Maven的 插件开发项目 using marmalade)
maven-archetype-webapp(一个简单的Java Web应用程序)
jini-service-archetype(Archetype for Jini service project creation)
softeu-archetype-seam(JSF+Facelets+Seam Archetype)
softeu-archetype-seam-simple(JSF+Facelets+Seam (无残留) 原型)
softeu-archetype-jsf(JSF+Facelets 原型)
jpa-maven-archetype(JPA 应用程序)
spring-osgi-bundle-archetype(Spring-OSGi 原型)
confluence-plugin-archetype(Atlassian 聚合插件原型)
jira-plugin-archetype(Atlassian JIRA 插件原型)
maven-archetype-har(Hibernate 存档)
maven-archetype-sar(JBoss 服务存档)
wicket-archetype-quickstart(一个简单的Apache Wicket的项目)
lift-archetype-blank(一个 blank/empty liftweb 项目)
lift-archetype-basic(基本(liftweb)项目)
myfaces-archetype-helloworld(使用MyFaces的一个简单的原型)
myfaces-archetype-helloworld-facelets(一个使用MyFaces和Facelets的简单原型)
myfaces-archetype-trinidad(一个使用MyFaces和Trinidad的简单原型)
myfaces-archetype-jsfcomponents(一种使用MyFaces创建定制JSF组件的简单的原型)
gmaven-archetype-basic(Groovy的基本原型)
gmaven-archetype-mojo(Groovy mojo 原型)
感谢:
https://blog.csdn.net/cx1110162/article/details/78297654
https://www.cnblogs.com/wkrbky/p/6358485.html