目录
[(2)Maven Archetype:创建Maven模板工程](#(2)Maven Archetype:创建Maven模板工程)
前言
本篇博客将详细的介绍在IDEA中如何配置Maven,以及如何创建一个Maven项目;前提是已经安装且配置好了Maven环境,没有安装的小伙伴,可以参考这篇博客:
Maven学习------Maven的下载、安装与配置(详细攻略!)-CSDN博客
1.在IDEA中配置Maven
(1)首先我们打开IDEA,打开setting设置界面,
在左边栏找到 Build, Execution, Deployment ------> Build Tools ------> Maven :
(2)然后看右边栏,我们要配置三个地方
- Maven home path : 这个地方配置为你Maven的安装目录
- User settings file : 勾上左边Override,然后这个地方配置为你Maven安装目录下 conf文件夹中的setting.xml文件
- Local repository : 这个地方配置为你的Maven本地仓库
(通常,如果你的setting.xml中设置过本地仓库,当上一步User settings file设置好后,这里会自动定位到你的本地仓库路径;若没有,则要手动配置一下)
(OK,到这里你的IDEA就已经配置好了Maven的环境🐶)接下来就可以创建Maven项目了
2.创建Maven项目
在新版IDEA中创建Maven项目有两种方式:Maven和Maven Archetype。
(1)Maven:普通Maven工程
(该方式创建的Maven项目,目录结构中只包含Maven项目中一些最基本的文件夹与配置文件)
**创建方法:**打开idea--->File(文件)--->New(新建)--->project(项目)
点开后,创建项目的具体操作如下:
最后点击Create,项目创建完成,创建后的项目的目录结构如下图:
👌至此,一个普通的Maven项目就成功创建好了。
如果不懂图中的一些概念,例如:坐标、pom.xml、groupId;请参考我的另一篇博客,(里面有maven核心概念的介绍),链接如下🔗
(2)Maven Archetype:创建Maven模板工程
什么是Archetype? Archetype就是模板原型的意思。在新版IDEA中,使用Maven Archetype创建项目时,Maven Archetype针对不同的项目,为我们提供了41中项目模版,其中最常用的三个为:
- maven-archetype-webapp
该模版针对动态web项目,会自动创建好WEB环境,不用我们再去project structure中自己配置了,避免手动创建文件夹和web.xml文件。
- maven-archetype-quickstart
该模版是快速开始一个项目,会为我们创建好java环境和test环境 ,而且连一个最开始的类都给我们创建好
- no archetype 表示不使用模版,创建普通的Maven工程,项目中包含最基本的目录结构。
**创建方式:**打开idea--->File(文件)--->New(新建)--->project(项目)
点开后,的具体操作如下:
ok,你的Maven Archetype模板项目就创建好了。
Maven Archetype的41种骨架:
...>mvn archetype:generate
1: internal -> appfuse-basic-jsf (创建一个基于Hibernate,Spring和JSF的Web应用程序的原型)
2: internal -> appfuse-basic-spring (创建一个基于Hibernate,Spring和Spring MVC的Web应用程序的原型)
3: internal -> appfuse-basic-struts (创建一个基于Hibernate,Spring和Struts 2的Web应用程序的原型)
4: internal -> appfuse-basic-tapestry (创建一个基于Hibernate, Spring 和 Tapestry 4的Web应用程序的原型)
5: internal -> appfuse-core (创建一个基于 Hibernate and Spring 和 XFire的jar应用程序的原型)
6: internal -> appfuse-modular-jsf (创建一个基于 Hibernate,Spring和JSF的模块化应用原型)
7: internal -> appfuse-modular-spring (创建一个基于 Hibernate, Spring 和 Spring MVC 的模块化应用原型)
8: internal -> appfuse-modular-struts (创建一个基于 Hibernate, Spring 和 Struts 2 的模块化应用原型)
9: internal -> appfuse-modular-tapestry (创建一个基于 Hibernate, Spring 和 Tapestry 4 的模块化应用原型)
10: internal -> maven-archetype-j2ee-simple (一个简单的J2EE的Java应用程序)
11: internal -> maven-archetype-marmalade-mojo (一个Maven的 插件开发项目 using marmalade)
12: internal -> maven-archetype-mojo (一个Maven的Java插件开发项目)
13: internal -> maven-archetype-portlet (一个简单的portlet应用程序)
14: internal -> maven-archetype-profiles ()
15: internal -> maven-archetype-quickstart ()
16: internal -> maven-archetype-site-simple (简单的网站生成项目)
17: internal -> maven-archetype-site (更复杂的网站项目)
18: internal -> maven-archetype-webapp (一个简单的Java Web应用程序)
19: internal -> jini-service-archetype (Archetype for Jini service project creation)
20: internal -> softeu-archetype-seam (JSF+Facelets+Seam Archetype)
21: internal -> softeu-archetype-seam-simple (JSF+Facelets+Seam (无残留) 原型)
22: internal -> softeu-archetype-jsf (JSF+Facelets 原型)
23: internal -> jpa-maven-archetype (JPA 应用程序)
24: internal -> spring-osgi-bundle-archetype (Spring-OSGi 原型)
25: internal -> confluence-plugin-archetype (Atlassian 聚合插件原型)
26: internal -> jira-plugin-archetype (Atlassian JIRA 插件原型)
27: internal -> maven-archetype-har (Hibernate 存档)
28: internal -> maven-archetype-sar (JBoss 服务存档)
29: internal -> wicket-archetype-quickstart (一个简单的Apache Wicket的项目)
30: internal -> scala-archetype-simple (一个简单的scala的项目)
31: internal -> lift-archetype-blank (一个 blank/empty liftweb 项目)
32: internal -> lift-archetype-basic (基本(liftweb)项目)
33: internal -> cocoon-22-archetype-block-plain ([http://cocoapacorg2/maven-plugins/\])
34: internal -> cocoon-22-archetype-block ([http://cocoapacorg2/maven-plugins/\])
35: internal -> cocoon-22-archetype-webapp ([http://cocoapacorg2/maven-plugins/\])
36: internal -> myfaces-archetype-helloworld (使用MyFaces的一个简单的原型)
37: internal -> myfaces-archetype-helloworld-facelets (一个使用MyFaces和Facelets的简单原型)
38: internal -> myfaces-archetype-trinidad (一个使用MyFaces和Trinidad的简单原型)
39: internal -> myfaces-archetype-jsfcomponents (一种使用MyFaces创建定制JSF组件的简单的原型)
40: internal -> gmaven-archetype-basic (Groovy的基本原型)
41: internal -> gmaven-archetype-mojo (Groovy mojo 原型)