• Maven


        打包方式
        1、jar
        2、war
        3、pom
    -->
        war


        com.jsoft
        maven01

        0.1

    Maven:项目构建工具,主流
    整个项目架构,source,resource,test,testresource
    依赖:导入的jar包。
    对项目进行打包。

    apache基金会

    作为一个java程序员,有必要连接一下apache的官网命名规则。
    项目.apache.org。

    配置环境变量:
    和JAVA,JDK基本一样。
    新建MAVEN_H0ME:maven的安装路径
    编辑PATH:新建一个%MAVEN_HOME%\bin
    通过CMD:mvn -v测试配置是否成功

    这个环境变量,说实话,用处不是很大,不配也没什么大问题!


    Maven解压后:
    conf目录,配置目录,在这个目录下有一个settings.xml,Maven的核心配置文件。

    maven会自动给我们下载jar包!
    在我们的JavaWEB阶段,所有的jar包都是我们下载好复制粘贴到我们的项目里。我们在使用框架开发的过程中,会导入非常多的jar包,jar包要统一管理,“版本”,这些jar包是怎么下载的,从哪下载的?

    Mysql驱动从哪里下载?

    我给你们的所有的jar包,同时我通过maven下载下来的!
    最终我们的项目是要打包放到服务器上的!
    这些jar包也得跟着一起放上去。
    加入说我们的项目需要100个jar包,都复制粘贴到项目里。1M,100M。

    我们现在要做的是把这些jar包放在本地,不往项目里导,通过某种方式连接到这些jar包。

    通过一个配置文件,找到这些jar包,最终我们往服务器上部署项目的时候,只需要部署我们的源码,和这个配置文件。

    1、这些jar包我要让他们保存在哪?
    仓库是干什么的?存东西的!


    E:/repository
    我们通过maven下载的依赖都放在这个位置。需要手动创建这个目录。不要用中文

    maven可以联网下载依赖,去哪个网下载?
    默认情况下是去maven的中央仓库!在美丽国!
    除非你的电脑做了特殊配置,否则基本上下不下来。
    可以做一个镜像,阿里云maven镜像仓库,需要配置阿里云镜像仓库

    实际上,各大编程工具已经内置了maven,当我们第一次创建maven工程时,会联网自动下载一些Maven本身需要的依赖。

    src
        main---源码
            java---源码.java
            resources---资源文件
        test---测试源码
            java---测试源码.java
            resources---测试资源文件
    pom.xml就是我们上面说的那个配置文件,来管理依赖的。

    maven生命周期
    target目录:存放编译后的java文件
    默认(default)真正进行项目编译打包等工作阶段
        1、validate:验证项目是否正确
        2、compile:编译,编译项目的源代码*****
        3、test:测试,junit这些测试不应该要求代码被打包或部署
        4、package:进行打包。***** 
            java工程-------.jar
            javaweb工程----.war
        5、verify:验证,对集成测试结果执行检查
        6、install:安装*****
            所有的项目都可以编程jar包(依赖)
        7、deploy:部署,将最终的包赋值到远程存储库,和其他开发人                   员共享(maven私服)
    清理(clean)执行必要的清理工作。删除target文件夹
    站点(site)生成项目报告,站点,发布站点(基本不用)

    Maven坐标:
    GroupId:团体组织标识符,它一般情况下以创建这个组织的名称的逆向域名开头。
    ArtifactId:项目名。单独项目的唯一标识符。
    Version:版本
    通过这三个向量来定位Maven仓库中其jar包所在的位置,把对应的jar包引入到工程中。

    依赖范围:
    compile:默认。编译范围,编译,测试,运行都有效。参与打包,安装。
    test:测试范围,只有在test范围下才能用,不参与打包,安装。
    provided:编译和测试,不参与打包,安装。
    runtime:运行,只参与运行。
    system:废弃。系统。
    import:废弃。引入。

    依赖的传递:(常识性问题)
    假如demo01中引入了mysql,servlet,fastjson,codec依赖,我把demo01install到了我的本地仓库,或者是maven私服,如果其他成员通过GAV引入了我的demo01,demo01中的mysql,servlet,fastjson,codec会不会一起引入进来???
    会!!!!!


    Gradle:安卓领域,据说未来会取代maven
    Ant:淘汰

     

     

     maven 是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)
    project object model 

     

     仓库:存储各种jar包
    本地仓库:存储在本机的资源仓库,连接远程的仓库获取资源
    远程仓库:
       中央仓库:maven团队维护,存储所有资源的仓库
       私服:公司内部存储资源的仓库,从中央仓库获取资源
    私服的作用?
    1,保存具有版权的资源,包含购买或者自主研发的jar包,中央仓库都是开源的,不能存储具有版权的资源
    2,一定范围内共享资源,仅对内部开放

  • 相关阅读:
    openwrt 时区设置无效问题
    Word控件Spire.Doc 【段落处理】教程(十一):如何在C#中隐藏单词段落
    java基于ssm+vue二手手机销售平台
    交易用户如何去使用l2行情数据api接口?
    跨境电商卖家应该知道的3个社交媒体营销策略
    6月25日PMI认证考点防疫要求及考场安排
    2023服务端测试开发必备技能:Mock测试
    SSM出租车查询系统 毕业设计-附源码220915
    java计算机毕业设计科研成果管理系统设计与实现MyBatis+系统+LW文档+源码+调试部署
    redis学习归纳
  • 原文地址:https://blog.csdn.net/qq_56951318/article/details/126895310