Maven

Maven学习记录

使用Maven开发的优点

  1. 使用Maven开发可以更加简单的管理模块之间的关系
  2. 可以更加简单的从网络中获取第三方jar
  3. 更加方便的管理jar的版本
  4. 更加简单的管理jar文件之间的依赖问题
  5. 帮你编译程序
  6. 帮你测试代码是否正确
  7. 可以打包文件,形成jar文件,或者war文件
  8. 更简单的部署项目

配置Maven

export M2_HOME=/Users/wenlong/Documents/Environments/apache-maven-3.8.1
export PATH=$PATH:$M2_HOME/bin

Maven核心概念

1、Maven工程约定目录结构
Hello/
		---/src
		-------/main #放置主程序
		------------/java #程序包和包中的java文件
		------------/resources # Java程序中要使用的配置文件
		-------/test #放置测试文件(可以没有)
		------------/java
		------------/resources
		---/pom.xml #maven的核心文件(maven项目必须有)
2、mvn compile 编译src/main目录下所有的java文件
  1. 下载:maven工具执行的操作需要很多插件
  2. 下载jar文件
  3. 下载东西的存放的位置
  4. 生成target结果目录
3、更改下载包的地址

config -> setting.xml -> <localRepository>/path/to/local/repo</localRepository>

4、仓库
  1. 仓库是存放东西的,存放maven使用jar和项目使用的jar

  2. 分类

    • 本地仓库:就是在你的电脑上的文件夹
    • 远程仓库,就是互联网上的,使用网络才能访问的仓库
      • 中央仓库,最权威的,所有的开发人员都共享是用的一个集中仓库
      • 中央仓库的景象:就像是中央仓库的备份,在各大洲,重要的城市都有镜像
      • 私服,在公司内部,在局域网中使用,不对外开发
  3. 仓库的使用,maven仓库的使用,不需要人为参与

    开发人员需要使用mysql驱动 --> maven首先查本地仓库 —> 私服 —> 中央仓库镜像 —> 中央仓库

    最终还是下载到本地

5、pom文件

全称Project Object Model 项目对象模型

基本信息

modelVersion 4.0.0

<groupId>公司域名倒写</groupId>
<artifactId>自定义项目名</artifactId>
<version>版本号</version>
  1. 坐标:

​ groupId 组织id,一般是公司域名的倒写

​ artifactId 项目名称

​ version 版本号 如果项目还在开发中,是不稳定版本,通常在版本号 1.0.0 加 -SNAPSHOT

  1. packaging 打包后压缩文件扩展名 默认为jar web应用是war :可以不写

  2. 依赖

    dependencies 和 dependency

  3. properties:设置属性

  4. build:maven在进行项目的构建时,配置信息,例如编译代码使用的jdk版本

6、maven生命周期、命令、插件
  1. maven的使命周期:就是maven构建项目的过程,清理,编译,测试,报告,打包,安装,部署
  2. maven的命令:maven单独使用,通过命令完成maven的生命周期的执行,maven可以使用命令,完成项目的清理,编译,测试等功能
    • mvn clean 清理
    • mvn compile 编译主程序
    • mvn test-complie 编译测试程序
    • mvn test 测试
    • mvn package 打包主程序
    • mvn install 安装主程序
    • mvn deploy 部署主程序
  3. maven的插件:maven命令执行时,真正完成功能的是插件,插件就是一些jar文件,一些类
  • 单元测试:用的junit,Junit是一个专门的测试的框架

    junit测试的内容:测试的是类中的方法,每一个方法都是独立测试的。

    ​ 方法是测试的基本单位

    maven借助单元测试,批量测试你类中的大量方法是否符合预期

Maven在idea中的使用

  • 设置idea的maven位置
  • runner 更改jre
  • runner 更改vm option 为 -DarchetypeCatalog=internal (maven项目在创建时会联网下载末班文件,使用这个选项不联网下载文件)
依赖范围

使用scope表示 默认为compile

  • compile 所有过程都起作用
  • test 只在测试程序的时候起作用
  • provided 打包 安装时不需要使用

常用操作

maven常用操作

1.maven的属性设置
设置maven的常用属性
2.maven的全局变量
自定义的属性,1.在 通过自定义标签声明变量(标签名就是变量名)
2.在pom.xml文件中的其它位置,使用 ${标签名} 使用变量的值

自定义全局变量一般是定义 依赖的版本号, 当你的项目中要使用多个相同的版本号,
先使用全局变量定义, 在使用${变量名}

3.资源插件

  
  <build>
  <resources>
    <resource>
      <directory>src/main/java</directory><!--所在的目录-->
      <includes><!--包括目录下的.properties,.xml 文件都会扫描到-->
        <include>**/*.properties</include>
        <include>**/*.xml</include>
      </includes>
      <!--filtering 选项 false 不启用过滤器, *.property 已经起到过滤的作用了 -->
      <filtering>false</filtering>
    </resource>
  </resources>
</build>

作用: mybatis课程中会用到这个作用

  1. 默认没有使用resources的时候, maven执行编译代码时, 会把src/main/resource目录中的文件拷贝到target/classes目录中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值