什么是Maven项目
Maven 是 Apache 组织下的一个跨平台的项目管理工具,它主要用来帮助实现项目的构建、测试、打包和部署。它的跨平台性保证了在不同的操作系统上可以使用相同的命令来完成相应的任务。
为什么选择Maven项目,而非普通的Java项目。普通的Java项目如果依赖其他的项目,需要手动把依赖的jar包复制到lib下,而且如果依赖的jar包升级,我们就需要重新复制jar包到lib下,操作麻烦,而且不容易管理。但是使用Maven项目的话,我们只需要在pom文件中维护依赖jar包的坐标即可。
IDEA安装maven由两部分组成,首先是下载、安装maven,然后需要再IDEA中配置maven。
一、配置maven
- 下载maven
先去https://maven.apache.org/download.cgi下载需要版本的maven
将下载好的压缩包解压到C盘,如下图所示:
- 配置环境变量
右键“计算机”,选择属性,打开如图的界面,进入到高级系统设置,点击“环境变量”
在系统变量中,添加一个MAVEN_HOME变量,其值为maven的安装路径,集合上文这里是C:\apache-maven-3.9.0
然后将%MAVEN_HOME%\bin添加到系统变量里的Path变量中。
- 验证是否安装成功
打开cmd,输入mvn -version,验证maven是否安装成功,当出现如下界面时,表示安装成功。
二、IDEA中配置maven
1、什么是仓库
首先,我们先理解一下仓库是做什么的,所谓的仓库就是用于存放项目需要的jar包的。
仓库可以分为本地仓库和远程仓库两大类,远程仓库又分为3种,即中央仓库、私有仓库和镜像仓库。这么多仓库,所以按照如下的顺序查找仓库:
step1: 在本地仓库中搜索,如果找不到,执行步骤 2,如果找到了则执行其他操作。
step2: 在中央仓库中搜索,如果找不到,并且有一个或多个远程仓库已经设置,则执行步骤 4,如果找到了则下载到本地仓库中已被将来引用。
step 3: 如果远程仓库没有被设置,Maven 将简单的停滞处理并抛出错误(无法找到依赖的文件)。
step 4: 在一个或多个远程仓库中搜索依赖的文件,如果找到则下载到本地仓库已被将来引用,否则 Maven 将停止处理并抛出错误(无法找到依赖的文件)。
2、Maven 的archetype
archetype的意思就是模板原型的意思,原型是一个Maven项目模板工具包。一个原型被定义为从其中相同类型的所有其它事情是由一个原始图案或模型。名称配合,因为我们正在努力提供一种系统,该系统提供了一种生成Maven项目的一致的手段。原型将帮助作者为用户创建Maven项目模板,并为用户提供了手段,产生的这些项目模板参数化的版本。
1: appfuse-basic-jsf (创建一个基于Hibernate,Spring和JSF的Web应用程序的原型)
2: appfuse-basic-spring(创建一个基于Hibernate,Spring和Spring MVC的Web应用程序的原型)
3: appfuse-basic-struts(创建一个基于Hibernate,Spring和Struts 2的Web应用程序的原型)
4: appfuse-basic-tapestry(创建一个基于Hibernate,Spring 和 Tapestry 4的Web应用程序的原型)
5: appfuse-core(创建一个基于Hibernate,Spring 和 XFire的jar应用程序的原型)
6: appfuse-modular-jsf(创建一个基于Hibernate,Spring和JSF的模块化应用原型)
7: appfuse-modular-spring(创建一个基于Hibernate, Spring 和 Spring MVC 的模块化应用原型)
8: appfuse-modular-struts(创建一个基于Hibernate, Spring 和 Struts 2 的模块化应用原型)
9: appfuse-modular-tapestry (创建一个基于 Hibernate, Spring 和 Tapestry 4 的模块化应用原型)
10: maven-archetype-j2ee-simple(一个简单的J2EE的Java应用程序)
11: maven-archetype-marmalade-mojo(一个Maven的 插件开发项目 using marmalade)
12: maven-archetype-mojo(一个Maven的Java插件开发项目)
13: maven-archetype-portlet(一个简单的portlet应用程序)
14: maven-archetype-profiles()
15:maven-archetype-quickstart()
16: maven-archetype-site-simple(简单的网站生成项目)
17: maven-archetype-site(更复杂的网站项目)
18:maven-archetype-webapp(一个简单的Java Web应用程序)
19: jini-service-archetype(Archetype for Jini service project creation)
20: softeu-archetype-seam(JSF+Facelets+Seam Archetype)
21: softeu-archetype-seam-simple(JSF+Facelets+Seam (无残留) 原型)
22: softeu-archetype-jsf(JSF+Facelets 原型)
23: jpa-maven-archetype(JPA 应用程序)
24: spring-osgi-bundle-archetype(Spring-OSGi 原型)
25: confluence-plugin-archetype(Atlassian 聚合插件原型)
26: jira-plugin-archetype(Atlassian JIRA 插件原型)
27: maven-archetype-har(Hibernate 存档)
28: maven-archetype-sar(JBoss 服务存档)
29: wicket-archetype-quickstart(一个简单的Apache Wicket的项目)
30: scala-archetype-simple(一个简单的scala的项目)
31: lift-archetype-blank(一个 blank/empty liftweb 项目)
32: lift-archetype-basic(基本(liftweb)项目)
33: cocoon-22-archetype-block-plain([http://cocoapacorg2/maven-plugins/])
34: cocoon-22-archetype-block([http://cocoapacorg2/maven-plugins/])
35:cocoon-22-archetype-webapp([http://cocoapacorg2/maven-plugins/])
36: myfaces-archetype-helloworld(使用MyFaces的一个简单的原型)
37: myfaces-archetype-helloworld-facelets(一个使用MyFaces和Facelets的简单原型)
38: myfaces-archetype-trinidad(一个使用MyFaces和Trinidad的简单原型)
39: myfaces-archetype-jsfcomponents(一种使用MyFaces创建定制JSF组件的简单的原型)
40: gmaven-archetype-basic(Groovy的基本原型)
41: gmaven-archetype-mojo(Groovy mojo 原型)
一般来说,常用的主要有三种原型:
1、cocoon-22-archetype-webapp
2、maven-archetype-quickstart
3、maven-archetype-webapp
2、IDEA中配置maven
1)打开IDEA的setting项
2)配置IDEA中maven的本地仓库
3)从网上下载jar包导入maven
版权归原作者 好儿 所有, 如有侵权,请联系我们删除。