目录
一:Maven的概述
1:maven的概念
maven是一个项目管理工具
2:maven的作用
1):Maven可以对项目的jar包进行统一管理,无需每个module都复制jar包,可以使用配置文件自动导入
2):Maven可以对你的项目从写代码到上线进行一条龙服务:初始化、编译、测试、报告 、打包、部署,清理
3:Maven的仓库
1)仓库就是存放项目使用jar包和插件(plugin)的地方
2)仓库分类:
中央仓库:存放所有常用的jar的服务器,对外公开,由专业团队维护,地址:http://repo1.maven.org/maven2/
远程仓库(私服)镜像服务器:一般是企业将核心jar包放在自己的服务器上
本地仓库:jar包和插件存储在本地(就是一个文件夹)
4:Maven的坐标
1)仓库中有很多jar包,如果找到我们需要的jar包,需要给每一个jar包设置一个标识,即坐标
2)坐标的组成:
groupId: 一般是公司域名的倒写: com.itheima ,com.alibaba
artifactId: module项目的名字 : web19_maven
version: 版本 : 1.0.1-SNAPSHOT
3)使用jar包
在项目的pom.xml文件中进行配置:
<dependency> //依赖
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.2</version>
</dependency>
二:Maven的安装
1:解压Maven压缩包
2:解压本地仓库到Maven文件夹中
3:配置本地仓库
在解压目录下 ,设置:conf/settings.xml 设置本地仓库路径
在55行: <localRepository>D:\develop\apache-maven-3.5.2\repository</localRepository>
4:在159行的<mirrors></mirrors>标签中,添加 设置阿里的私服
<mirror>
<id>AliMaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
5:设置Maven环境变量
1)设置MAVEN_HOME 就是你maven所在的路径
2)设置Path环境变量:%MAVEN_HOME%\bin
6:测试
在打开DOS:mvn -v 可以出现版本信息
三:使用idea配置Maven
1)普通配置
File --->settings --->搜索maven --->指定maven目录 ,配置文件路径 , 本地仓库路径
Maven下的Runner--->设置VM options为:-DarchetypeCatalog=internal
2)默认配置:
File--->other setting --->Default Settings --->搜索Maven --->指定maven目录 ,配置文件路径,本地仓库路径
File--->other setting --->Default Settings --->搜索Maven --->Maven下的Runner--->设置VM options为:-DarchetypeCatalog=internal
四:创建Maven工程
1:在Maven中创建JavaSE模块
1)File ----new Module ---->勾选 create from archetype --->选择: xxxx.quickstart
2)给当前要创建的项目指定一个坐标,因为我这个项目以后也可以打包成包发布到仓库中,则必须指定坐标
3)创建完项目之后,一定要在右下角 Event-Log 点击:Import Changes Enable Auto-Import ,可以自动从仓库中导入jar包
4)项目的目录结构:
src 代码资源目录
|--main 是我们编写源 代码目录
|--java 在这里编写Java源程序
|--test 是我们测试源码代码目录
|--java 在这里编写Java测试代码程序
问题:
如果创建时,卡在:loading archetype list
删除: C:\用户\lft\.IntelliJIdea\system\maven目录,然后重启idea
2:在Maven中创建JavaWeb模块
1)File ----new Module ---->勾选 create from archetype
2)选择:xxxx.quickstart 下边第三个选项:xxx.webapp
3)设置模块名字:day38_01_web
4):Maven中JavaWeb的目录结构
src
|--main
|--java(自建) 存放java程序
|--resources(自建) 存放配置文件(druid.properties)
|--webapp
|--WEB-INF
|--web.xml
|--index.jsp 首页
|--test(自建)
|--java(自建) 存放测试代码
|--resources(自建) 存放测试代码
注意:
(1)如果创建时,卡在:loading archetype list
删除: C:\用户\lft\.IntelliJIdea\system\maven目录,然后重启idea
(2)在创建Module之后弹出的Maven projects need to be imported,表示以后的jar包自动导入还是手动导入,选择Enable Auto-Import自动导入
五:pom.xml文件
1:jar包依赖
如果我们需要使用一个jar,则只需要在pom.xml中进行配置
<dependencies>
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
</dependencies>
2:jar包的作用范围
范围:
<scope>test</scope> 测试 :junit @Test
<scope>provided</scope> 编译,测试 :servlet
<scope>runtime</scope> 测试,运行 :jdbc驱动
<scope>compile</scope> 编译 测试 运行 :(默认)
3:插件
在pom.xml中配置
<plugins>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
</plugins>
六.自定义骨架步骤
1.新建一个普通的Maven Module
1.新建一个Webapp的Module,注意选择没有数字的Webapp模板
2.在这个Module中按照标准的javaEE模板手动创建和设置好需要的文件夹以及pom.xml,注意每个文件夹中必须有文件占地方否则在以后使用这个模板创建Module的时候没有文件的文件夹Idea就会视为无用文件夹不会创建
2.执行一系列操作使这个Module变为骨架
- 1:在pom.xml中添加,创建骨架的插件
<plugin>
<groupId>org.apache.maven.archetype</groupId>
<artifactId>maven-archetype-plugin</artifactId>
<version>3.0.0</version>
</plugin>
- 2:打开右侧的Maven Project,找到新建的Module的文件夹作为命令执行路径.执行命令
archetype:create-from-project
- 3:打开右侧的Maven Project,找到新建的Module文件夹下的target下的generated-sources文件夹下的archetype文件夹作为命令的执行路径,执行命令
install
- 4:打开右侧的Maven Project,找到新建的Module文件夹下的target下的generated-sources文件夹下的archetype文件夹作为命令的执行路径,执行命令
archetype:crawl
3.骨架创建完毕,在创建Maven Module时新建Archetype
- 1.创建new Module点击Add Archetype
- 2.在新建完骨架之后再本地仓库会出现一个文件archetype-catalog.xml 在这个文件的7行的位置会自动生成:
<groupId>com.itheima</groupId>
<artifactId>My_Artifact-archetype</artifactId>
<version>1.0-SNAPSHOT</version>
- 3.按照这个模板把三个参数依次添加到弹出的坐标位置输入框中
4.骨架添加完毕,点击新添加的骨架创建Module