首先,介绍一下Maven

百度百科中说到,Maven是基于项目对象模型(POM project object model),可以通过一小段描述信息(配置)来管理项目的构建,报告和文档的软件项目管理工具

Maven的核心功能便是合理叙述项目之间的依赖关系,通俗点讲,就是通过pom.xml文件的配置获取jar包,而不用手动去添加jar包。

A项目的pom.xml示例:

为什么通过这三个属性就可以确定一个jar包呢?

加入上面的pom.xml文件属于A项目,那么A项目是一个maven项目,通过上面这三个属性能够找到json对应版本的jar包,那么json-lib项目肯定也是一个maven项目,json-lib的maven项目中的pom.xml文件就会有三个标识符,比如像下图这样,然后别的maven项目就能通过这三个属性来找到json-lib项目的jar包了。所以,在每个创建的maven项目时都会要求写上这三个属性值的。

A项目的这三个属性值:

 其次,介绍一下仓库

通过pom.xml的配置就可以获取需要的jar包,这些jar包就放在仓库中。

仓库分为:本地仓库,第三方仓库(私服),中央仓库

1.本地仓库:

maven会将工程需要的jar包从远程中央仓库下载到本机一个目录下,默认为C:\Users\${user.name}\.m2\repository,目录可以修改,下边有介绍;

2.第三方仓库:

第三方仓库,又称为内部中心仓库,也称为私服

  私服:一般是由公司自己设立的,只为本公司内部共享使用。它既可以作为公司内部构件协作和存档,也可作为公用类库镜像缓存,减少在外部访问和下载的频率。(使用私服为了减少对中央仓库的访问)

  私服可以使用的是局域网,中央仓库必须使用外网

  也就是一般公司都会创建这种第三方仓库,保证项目开发时,项目所需用的jar都从该仓库中拿,每个人的版本就都一样。

  注意:连接私服,需要单独配置。如果没有配置私服,默认不使用

3.中央仓库:

maven内置远程公共仓库http://repo1.maven.org/maven2,这里放有大量的常用类库,并包含了世界上大部分流行的开源项目构件,以java为主。

工程需要的jar包,提取原则:

优先从本地仓库查找,若本地仓库没有且配置私服的话,从私服查找,若私服没有,从远程中央仓库获取并且下载到本地仓库,下次使用就会从本地仓库获取;

若本地仓库没有且没有配置私服,则从远程中央仓库获取,,,和上述步骤一样。

接下来,介绍一些maven常用的命令

创建项目:mvn archetype:create         --创建java和web项目需要的参数不同

编译:mvn compile  --src/main/java目录java源码编译生成class (target目录下)

测试:mvn test    --src/test/java 目录编译

清理:mvn clean    --删除target目录,也就是将class文件等删除

打包:mvn package  --生成压缩文件:java项目#jar包;web项目#war包,也是放在target目录下

安装:mvn install   --将压缩文件(jar或者war)上传到本地仓库

部署|发布:mvn deploy  --将压缩文件上传私服

maven web项目结构

pom.xml                 核心配置
src/main/java                java源码
src/main/resources            java配置
src/main/webapp            eclipse web项目中目录
      |-- WEB-INF
src/test                    测试
target                    输出目录

创建maven web项目的命令:

mvn archetype:create -DgroupId=com.wuhao.maven.quickstart 
                     -DartifactId=myWebApp 
                     -DarchetypeArtifactId=maven-archetype-webapp 
                     -Dversion=0.0.1-snapshot    
//mvn:核心命令
 archetype:create :高一些的maven版本已经弃用create,采用generate
 DgroupId:包名
 DartifactId:项目名称
 DarchetypeArtifactId:表示创建的是web项目
 Dversion:版本号

maven java项目结构 

pom.xml    核心配置,项目根下
src
  main      
    java    java源码目录
     resources   java配置文件目录
  test
    java    测试源码目录
     resources   测试配置目录
//mvn compile编译后会生成target目录

创建maven java项目的命令:

mvn archetype:create -DgroupId=com.wuhao.maven.quickstart 
                     -DartifactId=simple 
                     -DarchetypeArtifactId=maven-archetype-quickstart
//mvn:核心命令
archetype:create :和maven web项目一样
DgroupId:和maven web项目一样
DartifactId:和maven web项目一样
DarchetypeArtifactId:表示创建的是java项目、
Dversion:可以不用写,会自动生成

 

最后,配置maven并启动项目

1.下载maven并配置环境变量

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

2.有些版本的eclipse自带maven:

eclipse安装maven:

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

第一行是默认的,第三行是下载的maven,二者择一

3.本地maven仓库可以是默认的C盘下的路径C:\Users\username\.m2\repository

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

也可以自定义maven库的位置,这就需要对下载的maven中的C:\cache\apache-maven-3.5.4\conf\setting.xml做出修改

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

修改User Settings,会自动生成本地仓库的路径。

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

注:User settings 和 Global settings的区别:User settings只作用于当前用户;Global settings作用于登录该计算机的所有用户。User settings会覆盖Global settings。

4.导入并运行已有的maven项目,→maven build

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

在这里,该项目如果用到数据库,一定要配置数据库信息,否则项目启动不成功!!!!!在这里耽误了很久!!!!!!

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐