• Maven的初使用


    目录

    什么是maven?

    依赖管理

    maven和IDEA的关系

    maven的使用

    创建maven工程

    maven 工程下的项目目录结构

    pom.xml

    指定依赖

    解决99%问题的方法

    小结


    什么是maven?

    maven是 apache (开源组织),提供的一个项目构建工具(project build tool) 。


    什么是构建(build):依赖处理(dependencies)、编译(compile)、打包(package)


    什么是依赖:我们之前写的代码,基本用到的类来自{我们自己写的类、JDK原生提供的类},随着代码变得复杂、庞大;需要用到来自第三方提供的类(比如:写JDBC时,使用的类)。

    第三方的类:某个组织,提供了一组类文件。


    Java提供了一种打包方式

    将类以及相关文件打包,打包格式——JAR包(Java ARchive) ,即是zip包(放着各种各样的类文件)。

    如:myql-connector-java.jar

    依赖管理

    随着一个工程中使用的jar包越来越多,jar包的管理也变得越来越复杂。需要使用依赖(dependency)管理。

    jar包是某个组织,提供的某个功能,有一定的版本。组成:

    group(组织)、artifact (成品)、version(版本)

    groupld + artifactld + version,一定可以唯一确定一个具体的jar包。

    jar包下载的过程也完全交给maven进行处理。

    maven和IDEA的关系

    maven和IDEA本身是独立的两个软件。

    IDEA是一个强大的java开发环境,支持了maven这个java生态下出名的构建工具。

    maven的使用

    创建maven工程

    我们要创建maven 工程时,也进入了maven体系,所以我们自己的工程也得有自己的groupld、artfactld和version信息。

    一般来说

    groupld的命名方式:com.xxx / cn.xxx
    artifactld的命名方式:不能有中文。如:xxx-xxx、demo、first-demo

    version:使用默认的

    maven 工程下的项目目录结构

    pom.xml

    Project Object Model工程对象模型
    使用XML (eXtension Markup Language:扩展标记语言)格式进行管理,通过标签(tag)组成的一棵树形结构。


    properties

    指定依赖


    怎么确认依赖导入成功了?

    1. pom.xml没有报错
    2. maven工作区的dependencies没有报错
    3. external libraries中看到了添加的依赖(对应的jar包)

    注意:任何对pom.xml的修改,都得重新加载maven工程

    解决99%问题的方法

     

    小结

    maven是一个独立的项目构建工具

    1.创建maven工程;


    2.修改pom.xml(不用每次都手写,把之前写好的pom.xml复制过来做简单的改动即可,自己手写很容易拼写错误),任何时候修改完pom.xml,都需要重新load maven工程;

    3.修改完成之后,需要下载一些依赖,就让下面的进度条走一段时间,等进度条完成再继续下一步动作;

    4.检查maven的依赖是否处理成功;
            1)pom.xml不报错
            2)maven 功能区(一般在IDEA右侧)的依赖管理(Dependencies)没报错

            3)最主要的,工程视角下的external libraries有对应的jar包出现

    5.如果进度条走完有问题
            1)maven功能区,lifecycle选择clean、compile、package(按住ctrl选择),点击三角形进行maven命令行的独立构建;
            2)观察命令行最终有没有出现BUILD SUCCESS。(如果没有出现,带着错误求助/查找);

            3)使用File -> Invalidate Cache And Restart重启IDEA;
            4)如果还是不行,找到本地 maven仓库(C\Users\<你电脑的用户名>\m2\repository)根据依赖的 groupld、artifactld、version找到对应的文件夹,删除,再重试。

  • 相关阅读:
    musescore 构建入门
    【C语言】输入一个正整数,判断其是否为素数
    洛谷刷题C语言:FILIP、修改数组、Fun、Šifra、Erinnerung
    DRF学习之三大认证
    关于主表和子表数据的保存
    LeetCode [96] 不同的二叉搜索树
    越狱(快速幂C++)
    Java开发学习(五)----bean的生命周期
    立晶半导体Cubic Lattice Inc 专攻音频ADC,音频DAC,音频CODEC,音频CLASS D等CL7016
    一切测试的基础——测试用例设计
  • 原文地址:https://blog.csdn.net/XHT117/article/details/125581132