飞道的博客

一秒让你认识Maven能做些什么

227人阅读  评论(0)

1.技术结构图


2.为什么需要使用Maven

2.1目前开发中存在的问题

  • Jar包需要事先准备好,或者去官网下载
    不同技术的jar包提供下载的方式是一不一样.目前主流下载模式就是使用maven下载.
    如果你采用的是不规范的方式获取的jar包,那么获取的内容也可能是不规范的.
    借助maven采用统一的下载方式,到maven中央仓库中下载规范的jar包.

  • 项目中需要的jar包必须手动放到WEB-INF/lib目录下
    多个项目中可能会有重复的jar文件.导致存储空间的浪费,另外也会让项目比较臃肿.
    借助maven,可以将jar包存储在本地仓库中,有需要的项目引用这个文件接口.并不需要真的把jar包复制过来.

  • 一个jar包可能依赖另一个jar,需要找到被依赖的jar包并导入项目
    所有Jar包之间的依赖关系都需要程序员了解,那么就会增加学习成本.
    借助maven会自动的将被依赖的包导入使用.

  • 一个项目目前通过的package来划分模块.
    项目非常的庞大,就不适合使用package来划分模块,最好采用子项目来划分.
    借助maven可以将一个项目拆分成多个子项目.


3.Maven是什么

maven定义: maven是一款java平台的自动化构建工具.
构建定义: 使用”java源代码”,”框架配置文件”,”页面文件”,”静态资源”等.为材料,去生产一个可以运行项目的过程.
编译–>部署–>搭建

  • 编译:
    Java源文件(Student.java)编译(javac)Class字节码文件(Student.class)交给JVM使用

  • 部署:
    一个B/S结构的项目,最终运行的并不是项目本身.而是它编译的结果.

注意:对应库文件的引用,并没有把jar包本身复制到项目中.所以并不是目录.

构建过程个主要环节:

  1. 清理: 将以前编译得到class字节码文件删除,为下一次编译做准备
  2. 编译: 将java源文件编译成class字节码文件
  3. 测试: 自动测试,自动调用junit程序
  4. 报告: 测试程序执行的结果
  5. 打包: Web项目打war包,Java项目打jar包
  6. 安装: Maven独有步骤,将打包得到的结果组织复制到本地仓库中的指定位置
  7. 部署: 将生成war包复制到容器(Tomcat)的指定目录下,让它可以运行.

4.安装maven的核心程序

  • 检查JAVA_HOME环境变量

  • 解压下载maven包到文件夹中(要求路径中不能有中文和空格).

  • 配置Maven的环境变量


注意: 如果为了需要兼容以前的maven版本,环境变量名称改为M2_HOME.

-运行maven检查配置
命令:mvn -v


5.Maven中的概念

  • 约定的目录结构
  • pom文件
  • 坐标
  • 依赖
  • 仓库
  • 生命周期
  • 继承和聚合

6.第一个maven项目

  • 按照约定的目录结构创建maven项目

根目录: 项目目录
src: 源代码目录
pom.xml maven项目的核心配置文件
main: 主程序目录
test: 测试程序目录
java: 存放java源代码目录
resources: 存放资源文件目录

主程序代码:

测试程序代码:

  • 约定配置
    约定 > 配置 > 编码
    Maven 提倡使用一个共同的标准目录结构,Maven 使用约定优于配置的原则,大家尽可能的遵守这样的目录结构。如下所示:
目录 目的
${basedir} 存放pom.xml和所有的子目录
${basedir}/src/main/java 项目的java源代码
${basedir}/src/main/resources 项目的资源,比如说property文件,springmvc.xml
${basedir}/src/test/java 项目的测试类,比如说Junit代码
${basedir}/src/test/resources 测试用的资源
${basedir}/src/main/webapp/WEB-INF web应用文件目录,web项目的信息,比如存放web.xml、本地图片、jsp视图页面
${basedir}/target 打包输出目录
${basedir}/target/classes 编译输出目录
${basedir}/target/test-classes 测试编译输出目录
Test.java Maven只会自动运行符合该命名规则的测试类
~/.m2/repository Maven默认的本地仓库目录位置
  • 常用的maven命令

1. mvn clean 清理命令,删除target目录下所有的编译内容
2. mvn compile 编译主程序命令,将编译结果存放到target目录
3. mvn test-compile 编译测试程序命令, 将编译结果存放到target目录
4. mvn test 测试命令,执行测试程序并生成测试报告
5. mvn package 打包命令,将项目描述和主程序打包
6. mvn install 将打包的结果安装到本地仓库中.


7.Maven联网问题

  • Maven核心程序中只定义了生命周期,但是具体的工作是由特定的插件来完成.而核心程序本身并不包含这些插件

  • 当我们执行maven命令是,核心程序就会在本地仓库中查找命令对应的插件.

  • 本地仓库的默认位置在
    C:\Users[登录用户名].m2\ repository
    建议通过修改conf/settings.xml文件调整本地仓库所在的位置

  • 如果在本地仓库中找不到插件,就会自动访问外网.到中央仓库中下载对应的插件并保存进本地仓库.进而使用插件完成maven命令.

  • 如果不能访问网络,构建失败.


转载:https://blog.csdn.net/qq_45048713/article/details/105258205
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场