Maven基础配置

Maven的项目

1:了解一下Maven

  • Maven 是apache下的一个成功的项目
  • apache是一个开源软件的基金会
    • apache中项目的晋级之路:准备阶段、孵化阶段、毕业阶段
  • 如何成为顶级的程序员:
    • 1:用于试错
    • 2:积极参与开源项目
    • 3:发量不重要

2:Maven解决的问题:

    • 1:Maven是自动化构建工具
    • 2:构建:是将工程编译得到的结果部署到服务器上的过程
    • 3:编译:.java文件通过 javac编译器,编译器,编译为.class的字节码文件
  • 回顾一下传统的方式:
    • 要使用jar文件 下载 -> 放到工程lib目录下 -> 如果又引入了其他 jar -> 继续下载
    • jar 包版本不一致 / 或需要升级 jar更新

3:Maven对jar包的管理

  • 1:概念
    • 有一个仓库的概念,统一管理jar包,而每一个jar用坐标来对应位置,对一个jar包而言,文件夹 + 名字 + 版本号 可以定位到唯一jar
  • 2:仓库
    • 本地仓库(本机上的文件夹) -> 中央仓库(Maven提供) -> 远程仓库(私服)
    • 仓库查找jar包流程:
      • 如果jar不存在,去远程仓库查找,如果远程不存在,去中央仓库查找。
      • 如果找不到,报错
    • 优点:能构做到复用,多个项目共用jar包
  • 3:Maver项目
    • 1:创建Maven

  

 

 

    • 2:创建项目后提示的是否自动引入jar包?
      • 选择自动 -enable auto -import
    • 3:Maven项目有一个预定好的目录结构
      • 设计思想“约定优于配置”是统一贵方
      • src 代码总目录

  

 

4:Maven的下载

  • 首先我们明确一下,在IDEA中有给我们集成了Maven,但是不稳定这就,这就需要我们自己去官网进行去下载
  • 1:官网地址:https://maven.apache.org/download.cgi
    • 下载注意:.zip(window版本) .tgr.gz(Linux版本)
  • 2:配置环境 -> 系统变量
    • 下载完后解压一个文件夹中:C:\Program Files\Java\Maven
    • 然后在“此电脑”-> 属性中 ->高级系统设置 ->高级 -> 环境变量 ->系统变量(找到path,找到后点击编辑 -> 添加这个C:\Program Files\Java\Maven 路径) 不要忘记保存
  • 3: 配置完后验证:
    • mvn -v (查看版本号)
    • window + r 调出命令窗口 -> muv - v

 

    • 此时配置成功
  • 4:关联IDEA
    • Maven home directory: 配置的是自己Maven 解压后的路径:C:\Program Files\Java\Maven
    • 设置好settings.xml 以及本地仓库
    • 设置settings.xml
      • a:更改本地仓库的配置 <localRepository>本地仓的地址:D:\Maven.repository</ localRepository>
      • b:通过镜像的方式更好的从中央仓库下载jar包 同常使用阿里云提供的镜像
<mirror>
    <id>aliyunmaven</id>
    <mirrorOf>*</mirrorOf>
    <name>阿里云公共仓库</name>
    <url>https://maven.aliyun.com/repository/public</url>
</mirror>

5:在idea中的user settings file 选项中,找到刚才配置的文件

6:如果出现报错 查看报错日志

    • Help -> show log in explorer

  ERROR - # org.jetbrains.idea.maven-
  COM.google.inject.CreationException:Unable to create
injector see the foolowing errors

这是版本不兼容的问题 更改其他Maven版本即可

7:Maven的依赖

  • 存放到<dependencies>标签下
<dependenciex>
    <gronpId>文件夹</gronpId>
    <artifactId>项目名</artifactId>
    <version>代表版本号</version>
</dependenciex>
    • 1:查找依赖坐标通过 https://mvnrepository.com 网站找到
    • 依赖有递进关系
      • 当引入依赖是默认引入它依赖的其他jar
      • 项目A -> jar包B -> 相当于引入了jar包C
    • 剔除依赖的方式
      • 使用<exclusions></exclusions>标签
<exclusions>
  <exclusion>
    <groupId>文件名</groupId>
    <artifactId>项目名</artifactId>
  </exclusion>
</exclusions>

8:依赖使用的范围

  • 构建包含的流程:编译(compile)、测试、运行(text)、打包(packge)、安装(insall)、部署(deplpy)
  • 在右侧maven projects标签栏中,打开项目名下面的lifecycle如果没有就去view -> Tool -> windows 中查找。
  • 使用<scope> 标签 放在artifactId 下面
  • complie 缺省值 伴随着项目的整个生命周期而存在
  • provided 已经提供的不需要将次依赖打包到项目最终的jar包里
  • runtime 运行时使用
  • text 测试时使用
  • system 自定义jar包位置(不推荐)

9:Maven的生命周期

  • clean 项目的清理
  • validate 校验项目的可用性
  • compile 编译
  • text 执行单元测试
  • package 打包
  • verify 校验测试结果
  • install 安装
  • site 网站站点文件的创建(用的非常的少)
  • deploy 部署

命令的效果

  • 1:complie 编译
    • 注意点1:在次验证 muv -v 里面的 java 运行目录是否是jdk所在的目录 如果不是,说明环境变量缺少Java_Home配置
    • 注意点2:编译时需要指定jdk版本 ---> maven提供全局的jdk的配置(settings文件中<profiless>标签下)

<profile>
    <id>jdk1.8</id>
    <activation>
        <activeByDefault>true</activeByDefault>
        <jdk>1.8</jdk>
    </activation>
    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
    </properties>
</profile>
  • 正式编译:mvn claean complie
    • 编译结果出现在跟目录下的target文件夹中
  • 执行打包: mvn clean package
    • 打包出现了项目的jar包、
  • 执行安装: mvn clean install
    • 本地仓库中出现对应的文件夹和jar
  • 执行部署: mvn clean deploy
    • 首先要配置远程仓库的地址,然后将打包文件上传到远程仓库中

2:跳过测试阶段

1:mvn package -DskipTests 虽然跳过单元测试的执行,但仍然会编译代码,不是特别推荐

2:mvn package -Dmaven.text.skip = true 最常用的命令之一,既不会执行测试代码也不会编译

3:查看以来执行数

    • pom.xml文件中右键 -> diagrams -> show dependencies
    • mvn dependency = true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

马追者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值