一、Maven的概述
Maven是apache下的一个纯Java开发的开源项目
Maven是一个项目管理工具,可以简化项目配置统一项目结构,使得开发者
的工作变得更简单!
使用Maven的主要原因,是Maven可以帮我们下载和管理项目中所需要的依赖(jar包)
二、Maven的下载/安装/配置
下载、安装Maven,官方下载地址:http://maven.apache.org/download.cgi
maven是一个绿色软件,解压之后就可以使用,安装时推荐,安装的路径中不要包含中文和空格
三、Maven配置本地仓库
1.什么是本地仓库
本地仓库就是本地硬盘上的一个目录,这个目录用于存放Maven帮我们下载的所有jar包和插件。
如果不指定,本地仓库默认是在(windows系统):c:/users/{当前用户}/.m2/repository
2.修改本地仓库的默认位置
找到 {maven的安装目录}/conf/settings.xml文件,在settings文件的55行,添加如下内容:
<localRepository>d:/javaDevelop/localRepo</localRepository>
修改完后,以后通过maven下载的所有jar包和插件都会存放在D:/javaDevelop/localRepo
四、Maven配置远程仓库
1.什么是远程仓库
远程仓库(镜像仓库、私服): 一般是由公司(或个人)负责搭建并维护,如果配置了远程仓库,就会从远程仓库下载所需要的jar包,并保存到本地仓库中。如果没有配置远程仓库,默认连接中央仓库,但由于中央仓库面向的是全球用户,所以下载jar包速度较慢!
2.如何配置远程仓库
(1)如果是在家里(有外网),或者以后去公司上班后:可以不配置,默认连接中央仓库,也可以配置连接阿里云的仓库,或者连接你们公司自己的远程仓库,如果连接阿里云仓库,不可以使用手机热点网络(老师们测试过,是不可以的)!
(2)如果在达内(使用的是达内内网):可以配置连接达内的远程仓库,回到家里或者以后去公司,连接不了达内的远程仓库,没有对外开放,没有内网访问不了
配置方法:找到{maven的安装目录}/conf/settings.xml文件,在settings文件的<mirrors>标签内部,通过添加<mirror>标签,可以配置远程仓库。
达内的远程仓库配置:
<mirror>
<id>nexus-tedu</id>
<name>Nexus tedu</name>
<mirrorOf>central</mirrorOf> <url>http://maven.tedu.cn/nexus/content/groups/public/</url>
</mirror>
阿里云的远程仓库配置:
<mirror>
<id>nexus-aliyun</id>
<name>Nexus aliyun</name>
<mirrorOf>central</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
五、配置JDK版本
因为在maven和eclipse整合后,通过eclipse创建的maven项目,其中的JDK版本默认是JDK1.5(太旧)
可以在{maven的安装目录}/conf/settings.xml文件中配置JDK的版本,配置后,以后再创建maven项目,项目中的JDK版本
就是我们指定的版本。而不是JDK1.5。
配置方法是:在{maven的安装目录}/conf/settings.xml文件的<profiles>标签内部,添加一个<profile>标签。如下:
<profile>
<id>development</id>
<activation>
<jdk>1.8</jdk>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
六、整合Maven和Eclipse
1.如何将maven配置到Eclipse里
window右键 --> Preferences -->
点击Maven选项,在右侧选项中勾选 "Download Artifact Sources"
点击add --> 将自己安装的Maven添加进来 -->
添加自己安装的Maven(指定Maven安装位置)
-->将默认的maven切换为自己配置的maven:
-->设置maven的settings文件的位置:(选择setting.xml的位置)
Local Repository(From merged user and global setting)里路径会有变化
--> 测试是否配置成功:Winshow-show view-other-->maven(双击打开,是一个窗口)
七、Maven的项目构建
1.通过Maven构建Java项目分为两种方式:
方式一:通过Maven创建简单工程
(1)通过Maven创建简单的Java工程
(2)通过Maven创建简单的Web工程
建完之后会发现pom.xml文件会报错
解决方案:鼠标右键工程名字选择JavaEE Tools--> Generate...
方式二:通过Maven创建模板工程/项目
(1)通过模板创建Java工程
(2)通过模板创建Web工程
2.通过Maven创建一个Java项目
File/new/ Maven Project-->选择--new simple project
Group Id : 公司域名(com.tedu)
Artifact Id : 项目名(CGB-MAVEN-JAVA01)
Version : 默认的就可以 项目的版本,创建的项目默认是0.0.1-SNAPSHOT快照,也叫非正式版,正式版是RELEASE
Packging:选择jar就是java工程,war是web工程,pom:表示创建的是父工程(当然相对的还有子工程)或者聚合工程
3.通过Maven创建一个Web项目
同上,只需要最后Packging选择war即可
4.Maven项目的目录结构
src/main/java--用来存放主程序或java源文件
src/main/resources:--用来存放主程序所依赖的配置文件
src/test/java--用来存放测试的java源文件
src/test/resources--用来存放测试的配置文件
src/main/webapp--Web应用的根目录,相当于WebContent目录
将来可以存放Web资源文件(html/css/js/jsp/图片等)
src/main/webapp/WEB-INF/web.xml--Web应用的核心配置文件
target/classes--源码目录中的资源文件经过编译后,会输出到classes目录下
pom.xml--是Maven项目的配置文件,如果是需要引入jar包,插件,可以在这个文件中进行引入
5.如何导入已有的Maven项目
(1)先导入数据库(yonghedd)、表、表记录
(2)导入yonghe-ssm项目
导项目错误时的三个解决方案:(详见九、Maven的常见问题1)
(1)右键项目Update Project..勾选[] Force..强行更新
(2)在项目上右键Run as--run server-后面加上自己的项目名
(3)找到自己的本地库,把D:\JavaDevelop\localRepo里的东西删除,把老师的复制过来就ok
八、maven的依赖管理
1、如何在Maven项目中引入jar包(依赖)
不需要将jar包复制到当前项目中,而是在pom.xml文件中添加这个jar包对应的坐标,比如,要添加mysql驱动包,只需要在pom
文件的根标签(project)内部,添加一个<dependencies>标签,在<dependencies>标签内部添加一个mysql的坐标即可, 如下所示:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.32</version>
</dependency>
2、引入Maven项目中的jar包,存放在哪个位置?
引入到Maven项目中的jar包,存放在本地仓库的指定位置下,这个位置就是【本地仓库位置+当前依赖的坐标】
前面说过,本地仓库就是本地硬盘上的某一个目录,就是用来存放maven帮我们下载的jar包和插件
3.本地仓库中的jar包是从哪来的
如果没有配置远程仓库,本地仓库的jar包是maven帮我们从中央仓库下载下来的
如果配置了阿里云仓库,本地仓库的jar包是maven帮我们从阿里云仓库下载下来的
4.如何在pom文件中添加依赖
(1)添加依赖的方式1:
如果添加的依赖包在本地仓库中有(比如之前在别的项目中引入过这个依赖包)
添加方法:打开pom文件,在pom文件中右键--> Maven--> Add dependency,在弹出的窗口中输入要添加的依赖包
如果本地仓库中没有这个jar包,必然会搜索不到
如果本地仓库中这个jar包也搜索不到,解决方法是:打开Maven Repositories窗口,找到Local Repository
右键ReBuild Index(即重建索引),重建索引后再去搜索。
(2)添加依赖的方式2:
如果添加的依赖包在本地仓库中没有,就去网页上搜索http://mvnrepository.com
九、maven的常见问题
1、如果通过Maven创建的工程目录结构不完整,或者后期在引入Jar包时,jar引入失败,可以参考如下方法进行解决:
(1)在项目的pom文件中敲一个空白行,再保存文件,目的是让maven检测到pom文件发生了变化,再根据pom文件中的配置,到 本地仓库中寻找对应的jar包,如果没有相应的jar包,maven会重新下载。
(2)如果上面的方式不行,可以尝试在项目上,右键---> Maven ---> Update Project...,强制更新项目,此时 maven也会检查pom文件,在本地仓库中有没有相应的jar包。
(3)如果上面的方式仍然没有解决问题,检查当前网络环境是否能连接上所配置的远程仓库。(比如在家里使用外网,无法连接达内 的远程仓库,或者使用手机热点网络无法连接阿里云的远程仓库等)
-- 在达内教室,连接的是达内内网:在settings.xml文件中配置连接达内的远程仓库
-- 在家里,用的是外网(但不是手机热点):可以不配置,默认连接中央仓库,或者 在settings.xml文件中配置连接阿里云仓库
-- 用的是手机热点网络:不可以配置连接达内远程仓库或者阿里云仓库,连不上!!
(4)如果网络能够连接上所配置的远程仓库,到本地仓库的目录下,将本地仓库中所有的目录都删除,删除时,eclipse正在使用 本地仓库中的资源文件,所以会阻止删除,此时将eclipse关闭,再将本地仓库中的所有目录删除,重启eclipse。
(5)启动eclipse后,再将上面的第(1)步和第(2)步再做一遍!
(6)如果还是不行,就使用老师下发的本地仓库替换你的本地仓库!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。