博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MAVEN学习笔记
阅读量:5788 次
发布时间:2019-06-18

本文共 5625 字,大约阅读时间需要 18 分钟。

一、MAVEN下载

1.下载地址:http://maven.apache.org/download.cgi

 

二、MAVEN安装

1.解压下载的压缩包

2.配置MAVEN目录的bin目录路径到环境变量

3.在DOS中输入mvn -v检测是否安装成功,成功会显示mvn环境信息

 

三、第一个项目

1.项目基本目录结构

 -package 是类文件对应的包目录

1.在main的java中建立类HelloWorld 

package com.lexin.maven01.model;public class HelloWorld {  public String sayHello() {    return "Hello World!";  }}

 

2.在test的java中建立测试类HelloWorldTest 

package com.lexin.maven01.model;import org.junit.*;import org.junit.Assert.*;public class HelloWorldTest {  @Test  public void testHello() {    Assert.assertEquals("Hello World!",new HelloWorld().sayHello());  }}

 

 3.在src同级目录中新建pom.xml文件

4.0.0
com.lexin.maven01
maven01-model
0.0.1-SNAPSHOT
UTF-8
junit
junit
4.10

 

 

四、MAVEN常用命令

  mvn -v:查看MAVEN版本

  mvn compile进行编译:编译成功后会生成target目录,里面有class文件,报告等

  mvn test进行测试:测试成功后会在target目录下的test-classes目录产生相应的测试类的class文件

  mvn package打包:会自动将项目打包成jar文件,输出路径为target目录

  mvn clean:删除target目录

  mvn install:安装jar包到本地仓库中

 

五、自动构建目录的两种方式

1.archetype:generate :按照提示进行选择

2.archetype:generate -DgroupId=组织名.公司网址的反写+项目名

          -DartifactId=项目名-模块名

          -Dversion=版本号

          -Dpackage=代码所存在的包名

 

六、MAVEN的坐标和仓库

坐标:即groupId、artifactId、version所构成的一个独有的坐标

仓库:

  1.仓库分为本地仓库和远程仓库

    1)MAVEN的默认仓库地址

    在MAVEN目录下的lib目录下的maven-model-builder-3.5.0.jar文件中的pom文件是MAVEN的默认pom,下面就是MAVEN默认的远程仓库地址

 
central
Central Repository
https://repo.maven.apache.org/maven2
default
false

 

    2)MAVEN的镜像仓库地址配置

    在MAVEN目录下的conf目录下的settings.xml文件中<mirrors>标签中的内容就是镜像地址的配置

mirrorId
repositoryId
Human Readable Name for this Mirror.
http://my.repository.com/repo/path

    

    3)更改本地仓库的位置

    MAVEN默认的本地仓库位置为C:\Users\用户目录\.m2\repository

    在settings.xml文件中<localRepository>标签中修改本地仓库位置,注意路径为/反斜杠分隔!

  

六、eclipse安装MAVEN插件

1.下载MAVEN插件放入eclipse目录下dropins目录中

2.重启eclipse

3.点击window -->  preferences -->  MAVEN :MAVEN需要使用JDK,如未配置JDK需要配置好JDK,具体步骤如下:

  1)打开eclipse根目录下的eclipse.ini文件

  2)添加如下代码

-vmjavaw.exe路径

4.修改eclipse默认JRE

5.更改MAVEN默认配置

  1)window-->preferences-->MAVEN-->installations:选择本地MAVEN安装目录

  2)window-->preferences-->MAVEN-->User Setting:配置MAVEN配置文件,选择MAVEN的Setting文件

6.新建一个MAVEN项目

  1)配置工作空间路径

  2)配置项目Id

  3)右击pom.xml-->Run As-->MAVEN build...-->Goals输入命令如:compile或者package等等

7.大功告成!

 

七、MAVEN生命周期

1.clean:清理项目

  1)pre-clean:执行清理前的工作

  2)clean:清理上一次构建生成的所有文件

  3)post-clean:执行清理后的文件

2.default:构建项目(最核心)

  compile  test  package  install

3.site:生成项目站点

  1)pre-site:在生成项目站点前要完成的工作

  2)site:生成项目的站点文档

  3)post-site:在生成项目站点后要完成的工作

  4)site-deploy:发布生成的站点到服务器上

4.在执行某一阶段时,会将该阶段之前的阶段依次执行

 

八、pom.xml常用元素介绍

<project>是pom的跟元素,包含了pom的约束信息

<modelVersion>指定了当前pom的版本,也是pom必须的元素

<groupId>主项目标识,反写的公司网址+项目名

<artifact>模块标识,项目名+模块名

<version>项目版本号,一般由3个数字表示,第一个0表示大版本号,第二个0表示分支版本号,第三个0表示小版本号

  例:0.0.1

   snapshot:快照

   alpha:内测

   beta:公测

   Release:稳定

   GA:正式发布

<packaging>表示打包方式,默认为打包成JAR,也可打包成其他类型,如:war zip pom等

<name>项目描述名

<url>项目地址

<description>项目描述

<developers>开发人员列表

<licenses>许可证信息

<organization>组织信息

<dependencies>依赖列表

<dependency>依赖项:可指定依赖包的groupId atifactId version type scope(依赖范围,有效范围)等信息

<optional>有true false两个值,默认为false,用于设置依赖是否可选

<exclusions>排除依赖传递列表

<exclusion>排除依赖传递项

<dependencyManagement>依赖管理

<build>为构建的行为提供支持

<plugins>插件列表

<plugin>插件项,需要指定坐标信息groupId atifactId version等

<parent>用于子模块对于父模块pom的继承

<modules>模块列表,聚合运行多个的MAVEN项

<module>模块项

4.0.0
反写公司网址+项目名
项目名+模块名

 

九、MAVEN依赖

MAVEN依赖范围(scope)一共有六种:

1.compile:默认的范围,编译测试运行都有效

2.provided:在编译和测试的时有效

3.runtime:在测试和运行时有效

4.test:只在测试时有效

5.system:与本机系统有相关联,可移植性差

6.import:导入的范围,它只使用在dependencyManagement中,表示从其他的POM中导入dependency的配置

 

依赖的传递性:需要将父类pom install到本地仓库中, 子类pom在<dependency>中加入父类依赖坐标 即可调用

在<dependency>中运用<exclusions> <exclusion>来排除所不需要的父类pom

 

依赖冲突

1.短路优先:

  有以下两条依赖:A->B->C->X(JAR)和A->D->X(JAR),那么A-D-X这条优先解析

2.先声明优先:

  在依赖路径长度相同时,按照代码顺序,先声明依赖谁就继承谁的依赖

 

十、聚合和继承

MAVEN聚合:聚合实际上是对多个项目同时进行做处理,比如编译、打包等。做法如下:创建一个新的maven项目,用于做其它项目的聚合,然后把pom.xml文件里的package标签里的jar改成pom,并去掉依赖,然后添加modules把其它项目引进来。

MAVEN继承: 类似java继承,将重复性的写入一个父类pom中,在父类中<packaging>为pom

  子类中使用<parent>标签来将父类引入项目中

: 对于<version>,可在<properties>中配置标签<spring.version>

  并在<version>中用${spring.version}来进行提取。

 

十一、用MAVEN构建第一个WEB项目

 

创建web项目的过程:1、使用maven创建一个web类型的maven项目。2、添加servlet插件的依赖pom.xml。3、添加src源文件夹。4、修改jer的版本。5、查看src输出的文件夹。6、添加服务器插件的依赖到pom.xml。

 

转载于:https://www.cnblogs.com/lexin593119348/p/7096998.html

你可能感兴趣的文章
排序小结
查看>>
python 常见内置函数setattr、getattr、delattr、setitem、getitem、delitem
查看>>
使用bat脚本添加JAVA_HOME和修改PATH
查看>>
全自动备份vss和sql数据库(含源码下载)
查看>>
[转] boost undefined reference to 'pthread_create 问题
查看>>
如何不显示地图就获取位置数据?
查看>>
读取指定文件夹限定文件
查看>>
EF 更新条目时出错。有关详细信息,请参见内部异常。
查看>>
TIDB介绍 新数据库趋势
查看>>
ArcGIS For Flex学习之Mapping---Map Extent and Mouse Coordinates
查看>>
libgdx的菜单配置,以及json文件的结构
查看>>
Git基础知识与常用命令
查看>>
Set和Map数据
查看>>
关于Patter类和Match类
查看>>
[改善Java代码]生成子列表后不要再操作原列表
查看>>
9套Android实战经典项目资料分享给大家
查看>>
第2个程序:用C语言实现点亮一盏led
查看>>
.net消息队列
查看>>
sys.stdout.write与sys.sterr.write(一)
查看>>
向Maven的本地库中添加jar文件
查看>>