• 使用Maven构建项目


    使用Maven构建项目

    7.使用Maven构建项目

    7.1.程序员的忧伤

    在这里插入图片描述

    • 我和同事使用不同的IDE开发,每次互相导项目,更新项目,都费老半天劲了
    • 每次从SVN checkout项目,因为jar包太多,都得OUT半天。
    • 项目使用的jar包版本每次下载和升级好麻烦,得自己寻找jar包的下载地址,找到了不一定能下,下载下来版本不一定对。
    • 刚换了一家公司,发现公司创建的项目结构怎么那么奇葩,和我们原来的项目习惯大大的不一样。

    7.2.Maven的使命

    将编辑交给IDE,剩下的由Maven来管

    1. IDE解耦
    2. 统一jar包资源路径
    3. 版本管理
    4. 统一项目结构
    5. 第三方良好的集成

    下载地址

    ​ http://maven.apache.org/

    使用maven

    新建一个文件夹 (非系统盘) 创建一个文件夹 jarbao , 这个jarbao 文件夹转门放 jarbao

    在这里插入图片描述

    在这里插入图片描述

    7.3.历史延革

    属性
    版本3.6.0
    全称Maven
    开发者Apache

    7.4.安装

    解压即可使用:

    在这里插入图片描述

    如果直接使用IDEA,该步骤可以省略

    ​ 变量名:M2_HOME 或者 MAVEN_HOME


    在这里插入图片描述

    ​ PATH:


    在这里插入图片描述

    检测: mvn -v

    在这里插入图片描述

    7.5.目录结构

    目录作用
    ${basedir}存放 pom.xml和所有的子目录
    ${basedir}/src/main/java项目的 java源代码
    ${basedir}/src/main/resources项目的资源,比如说 property文件
    ${basedir}/src/main/webappweb项目的根目录
    ${basedir}/src/test/java项目的测试类,比如说 JUnit代码
    ${basedir}/src/test/resources测试使用的资源
    ${basedir}/target存放打包后的项目文件

    7.6.Maven项目操作命令

    作用命令
    编译项目mvn:compile
    测试项目mvn:test
    打包项目mvn:package
    安装项目mvn:install

    这些命令在哪用呢

    每次安装需要记代码,idea 给了非常方便的操作
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    如果有坐标,右边的 maven 中没有 就是没用把 jarbao 引用到项目中

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    7.7.使用IDEA创建Maven项目

    在这里插入图片描述

    创建项目:

    在这里插入图片描述

    在这里插入图片描述

    目录结构:

    在这里插入图片描述

    创建 mave 项目实例

    在这里插入图片描述

    注意 maven 构建项目需要网

    所以我们使用 Java Enterprise

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    Artifact 一般不用改 改Name 项目名称 时 Artifact 会一起改

    Group 改一下

    在这里插入图片描述

    在这里插入图片描述

    这里就可以看到我们设置的东西

    在这里插入图片描述

    用 maven 创建出来的项目的结构都是一样的

    7.8.仓库

    7.8.1.Maven仓库

    ​ 仓库:用来存放 下载+发布

    在这里插入图片描述

    7.8.2.运作流程

    在这里插入图片描述

    配置文件更改

    在这里插入图片描述

    在这里插入图片描述

    更改idea 默认 maven 位置

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    点击应用 会自动下载

    如果项目报错

    在这里插入图片描述
    idea 里面点刷新, 就可以了

    我们创建项目每次都要设置,太麻烦,所以使用下面的方法就可以创建项目时设置

    在这里插入图片描述

    在这里插入图片描述

    7.9.pom.xml

    属性名称说明
    modelVersion协议版本
    name公司名称
    url公司地址
    dependencies依赖集合
    dependency依赖
    scope作用域
    version版本号
    packaging打包类型 jar包,war包,pom聚合
    build打包执行的插件

    7.9.1.scope作用域

    属性名称说明
    compile默认的scope,表示 dependency 都可以在生命周期中使用。而且,这些dependencies 会传递到依赖的项目中。适用于所有阶段,会随着项目一起发布。
    provided跟compile相似,但是表明了dependency 由JDK或者容器提供,例如Servlet AP和一些Java EE APIs。这个scope 只能作用在编译和测试时,同时没有传递性。
    runtime表示dependency不作用在编译时,但会作用在运行和测试时,如JDBC驱动,适用运行和测试阶段。
    test表示dependency作用在测试时,不作用在运行时。只在测试时使用,用于编译和运行测试代码。不会随项目发布。
    system跟provided 相似,但是在系统中要以外部JAR包的形式提供,maven不会在repository查找它。

    7.9.2.version配置

    属性名称说明
    SNAPSHOT(快照版本)动态监测 非稳定版本
    RELEASE(正式版本)根据版本号监测 版本号一致则不更新 稳定版本
  • 相关阅读:
    Linux中的dpkg指令(dpkg -l | grep XXX等)
    日本语自然语言处理中的分词库 - GiNZA
    ping可视化工具——gping
    日常学习收获之----react的ref和wrappedComponentRef的区别
    MySQL面试题 硬核47问
    ubuntu16.0安装配置openvpn,客户端在作为网关连接子网
    时序预测 | Python实现ARIMA-CNN-LSTM差分自回归移动平均模型结合卷积长短期记忆神经网络时间序列预测
    简述三范式
    十年架构师心血,论Java程序员如何修炼成道,涨薪必备核心技能
    axios源码记录 学习笔记
  • 原文地址:https://blog.csdn.net/SSOA6/article/details/125568645