程序员干货分享

Maven知识点总结

2020-10-20  本文已影响0人  小白菜aaa

第一章 Maven介绍

1.1 什么是Maven

Maven是一个项目管理工具,它包含了一个项目对象模型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。

1.2 Maven能解决什么问题

能构建工程,管理jar包,编译代码,还能帮你自动运行单元测试,打包,生成报表,甚至能帮你部署项目,生成Web站
注:maven构建的项目相较于普通项目,文件的大小要小很多,因为maven构建的项目没有把jar包拷贝到项目(工程)中。

1.3 Maven的两个核心作用

  1. Maven的依赖管理:Maven把项目所需要得jar包保存在Maven仓库里面,通过在pom.xml文件中添加所需jar包的坐标,在用到这些jar包时,会根据pom.xml中jar包的坐标把jar包引入进来拿去执行
    注:maven中有索引,很大程度上提高了jar包的加载速度,所以可以认为maven仓库的jar包基本跟放在本地的工程文件中再读取出来的速度是一样的。
  2. 项目的一键构建:指的是项目从编译、测试、运行、打包、安装 ,部署整个过程都交给maven进行管理,使用maven一个命令可以轻松完成整个工作。

1.4 Maven工程的目录结构

1.5 Maven仓库的分类

第二章 Maven常用命令

我们可以在命令提示符(cmd)中的我们的项目路径下,通过一系列的maven命令来对我们工程(项目)进行编译、测试、运行、打包、安装、部署。

2.1 compile

2.2 test

2.3 clean

2.4 package

2.5 install

2.6 Maven指令的生命周期

maven对项目构建过程分为三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”,这三套生命周期分别是:

2.7 项目对象模型 (Project Object Model)

一个maven工程都有一个pom.xml文件,通过pom.xml文件定义项目的坐标、项目依赖、项目信息、插件目标等。

2.8 依赖坐标定义如下:

<dependency>
    <!--项目名称,定义为组织名+项目名,类似包名-->
    <groupId>com.ljj</groupId>
    <!-- 模块名称 -->
    <artifactId>hello_maven</artifactId>
    <!-- 当前项目版本号,snapshot为快照版本即非正式版本,release为正式发布版本 -->
    <version>0.0.1-SNAPSHOT</version>
    <!-- 依赖范围 -->
    <scope></scope>
</dependency>
<!-- 打包类型,有jar和war两种 -->
<packaging >war</packaging >

2.9 依赖范围

2.10 设置jdk编译版本

需要设置编译版本为1.8,这里需要使用maven的插件来设置,在pom.xml中加入:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>
    </plugins>
</build>

2.11 添加tomcat7插件


<build>
    <plugins>
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
                  <artifactId>tomcat7-maven-plugin</artifactId>
                  <configuration>         
                    <!-- 端口号 -->
                    <port>8888</port>              
                    <!-- 访问路径 -->
                    <path>/</path>
                  </configuration>
                  <version>2.2</version>
        </plugin>
    </plugins>
</build>

此时点击idea最右侧Maven Projects,就可以看到我们新添加的tomcat7插件,双击tomcat7插件下tomcat7:run命令直接运行项目

2.12 pom基本配置

pom.xml是Maven项目的核心配置文件,位于每个工程的根目录,基本配置如下:

<project > :文件的根节点
<parent>:指定继承的父模
<modelversion > : pom.xml使用的对象模型版本
<groupId > :项目名称,一般写项目的域名
<artifactId > :模块名称,子项目名或模块名称
<version > :产品的版本号 .
<packaging > :打包类型,一般有jar、war、pom 等
<name > :项目的显示名,常用于 Maven 生成的文档。
<description > :项目描述,常用于 Maven 生成的文档
<properties>:设置一些属性,通常指定jar包的版本、设置编译版本
<dependencies> :项目依赖构件配置,配置项目依赖构件的坐标
<build> :项目构建配置,配置编译、运行插件等。

第三章 分模块构建工程[应用]

3.1 理解继承和聚合

3.2 什么是依赖传递

添加springmvc的核心依赖的坐标,项目依赖spring-webmv.jar,而spring-webmv.jar会依赖spring-beans.jar等等,所以spring-beans.jar这些jar包也出现在了我们的maven工程中,这种现象我们称为依赖传递。

3.3 依赖调解原则

解决导入多个依赖时版本不一致的问题,即依赖冲突问题。

3.4 运行调试

四、把第三方jar包放入本地仓库

随便找一个jar包测试,可以先CMD进入到jar包所在位置,运行:

 mvn install:install-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dfile= fastjson-1.1.37.jar -D

结尾

本文到这里就结束了,感谢大家看到最后,记得点赞加关注哦,如有不对之处还请多多指正。

上一篇 下一篇

猜你喜欢

热点阅读