1.maven简单介绍
Apache下的项目管理工具,纯java开发,帮我们更方便的管理和构建Java项目
2.maven优点
jar包管理(最主要的功能)
从Maven中央仓库下载jar包及依赖jar包,避免自己下载错误
本地仓库统一管理jar包,jar包和项目分离,减轻项目体积
maven是跨平台的可以在windows、linux上使用
清晰的项目结构
多工程开发
一键构建项目
3.maven安装
安装jdk
下载maven
下载地址https://maven.apache.org
Windows:Binary zip archive
Linux:Binary tar.gz archive
解压安装、配置环境变量
windows
linux
mvn -v查看版本信息看是否安装成功
4.maven基本常识
maven如何获取jar包
通过坐标方式获取jar包
公司/组织(groupId)
项目名(artifatId)
版本号(version)
maven仓库的分类
本地仓库
本地仓库配置在maven对应的conf/setting.xml中
本地仓库修改<localRepository></localRepository>路径指定jar包存放路径
修改远程镜像mirror地址,可以配置多个国内的镜像(阿里云nexus-aliyun)maven的中央仓库1(central)、maven的中央仓库2(repo2)
私有仓库
私有仓库可以理解为自己公司的仓库,也叫Nexus私服
中央仓库
中央仓库即maven默认下载的仓库地址,是maven维护的
maven的常用仓库
由于网络访问的原因,在国内如果需要下载国外jar包的时候会受限,
因此一般在使用过程中需要修改maven的配置文件,将下载jar包的仓库地址修 改为国内的源,常用的是阿里云的mvn仓库,修改配置如下: maven目录/conf/setting.xml
1 <mirror>
2 <id>nexus‐aliyun</id>
3 <name>Nexus aliyun</name>
4 <url>http://maven.aliyun.com/nexus/content/groups/public</url>
5 <mirrorOf>central</mirrorOf>
6 </mirror>
7 <mirror>
8 <id>central</id>
9 <name>Maven Repository Switchboard</name>
10 <url>http://repo.maven.org/maven2/</url>
11 <mirrorOf>central</mirrorOf>
12 </mirror>
13 <mirror>
14 <id>central</id>
15 <name>Maven Repository Switchboard</name>
16 <url>http://repo2.maven.org/maven2/</url>
17 <mirrorOf>central</mirrorOf>
18 </mirror>
19 20
21 <!‐‐修改默认jdk编译版本,默认jdk1.5‐‐>
22 <profile>
23 <id>jdk‐1.8</id>
24 <activation>
25 <activeByDefault>true</activeByDefault>
26 <jdk>1.8</jdk>
27 </activation>
28 <properties>
29 <maven.compiler.source>1.8</maven.compiler.source>
30 <maven.compiler.target>1.8</maven.compiler.target>
31 <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> 32 </properties>
33 </profile>
maven常用命令
clean:清理编译后的目录
compile:编译,只编译main目录,不编译test中的代码
test-compile:编译test目录下的代码
test:运行test中的代码
package:打包,将项目打包成jar包或者war包
install:发布项目到本地仓库,用在打jar包上,打成的jar包可以被其他项目使用
deploy:打包后将其安装到pom文件中配置的远程仓库
site:生成站点目录
5.maven配置依赖
到pom.xml中添加依赖
去官网https://mvnrepository.com/搜索spring-context
在pom中的<dependencies>中配置<dependency>
groupId
artifactId
version
scope
compile(默认),编译进入lib文件
test 只有测试的时候才会有作用