SSM-Mavene工具

学习Maven目的:
    1.构建
        以后工作后,我们不会做一个完整的项目,只会做一个个模块单元,然后组合。组合不一定在你的电脑上,我们一般是打包提交,这时候就需要一个工具帮我们把项目构建
    2.依赖(jar)
        jar管理,解决jar过多的问题(maven是通过pom.xml直接导入,不需要在复制粘贴WEB-INF/lib包下),以及jar直接依赖的问题(导入一个你需要的jar,就必须也要导入有它所依赖的jar)

Maven是什么?
    1.概念:一个apache专门为Java项目开发的构建和依赖管理的工具
    2.构建
        2.1概念:把原材料(xml,图片,源码等)生成成成品(可运行的项目)的过程
       2.2 过程(7):
            清理:清除上次构建的结果,为下次做出准备
            编译:java源码--->class字节码的过程
            测试:运行原本自带的测试程序
            报告:对测试的结果生成一个报告信息
            打包(2)
                java工程 --->jar包
                web工程--->war包
            安装:安装到maven仓库(本地仓库)中--->手动
            部署:将打好的jar或者war包部署到服务器上面-->上线
   3.依赖
        依赖jar的下载(中央仓库https://mvnrepository.com/---->本地maven仓库)
        依赖有传递性 (A依赖B,B依赖C---->  A依赖C)
        依赖冲突解决(mave配置可以控制让某些依赖不传递)
    4.工作机制
        

安装Maven
    1.下载文件注意:解压到非中文,没有空格的目录下
        链接:https://pan.baidu.com/s/1jVKh6xQS8rRE4cbYlq59Ag
        提取码:0303
    2.配置环境变量(二选一)
        绝对路径:在PARH中 -->解压的文件到bin目录
        相对路径:创建一个Maven_HOME--->bin目录的上一级;在PATH中--->%Maven_HOME%\bin
    验证:cmd中输入 mvn -v
    

核心概念
    1.坐标

groupId:公司或组织域名的倒写
artifactId:项目名或者模块名
version:版本号(SNAPSHOT--->不稳定版;RELEASE--->正式版本)

    2.pom.xml--->管理jar
    3.约定目录结构(约定大于配置)
    


    4.标准的坐标写在pom.xml里面--->里面

<dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

     5.常用命令(节选):(必须在pox.xml目录下的cmd输入)---->对应的是概念里面的过程

Maven的了解
    1.创建maven工程
        https://blog.csdn.net/shtxk/article/details/118226585
    2.测试maven的范围依赖  (compile/test/provided)
         

 2.2 总结:
            1.test只能scr\test\java文件中使用
            2.compile可以在任何地方使用(不写默认为compile)
            3.provided可以在项目中使用,却不能在服务器中使用,因为服务器提供了相对应的jar
   3.依赖的传递性
        compile范围的jar可以传递,provided和test范围内的jar只能明确配置后才可以传递

        依赖的冲突的两条原则:1.线路最短者优先;2.先声明者优先
    4.pom.xml的认识
        

<!-- 当前Maven工程的坐标-->
<groupId>com.atgu</groupId>
<artifactId>A</artifactId>
<!--当前工程的打包方式pom/jar/war    -->
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<!--聚合-->
<!-- 子工程的坐标 -->
<!-- 如果子工程坐标中的groupId和version与父工程一致,那么可以省略 -->
<modules>
    <module>B</module>
</modules>

<!-- 使用excludes标签配置依赖的排除    -->
<exclusions>
    <!-- 在exclude标签中配置一个具体的排除 -->
    <exclusion>
        <!-- 指定要排除的依赖的坐标(不需要写version) -->
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
    </exclusion>
</exclusions>

<!--自定义属性标签-->
<properties>
    <!--自定义标签,用于下给对应标签的版本数据-->
    <junit.version>5.7.1</junit.version>
</properties>

<!--工程依赖的复标签,里面可以存单依赖标签(自己写的maven项目也是在里面依赖的)-->
<dependencies>
    <!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
    <!--依赖的单标签-->
    <dependency>
        <!--公司或组织id-->
        <groupId>org.junit.jupiter</groupId>
        <!--项目名或模块名-->
        <artifactId>junit-jupiter-api</artifactId>
        <!--版本号 RELEASE表示正式版本;SNAPSHOT表示快照版本
        唯一可以修改的值为了控制我们把它提出,用变量表示-->
        <version>${junit.version}</version>
        <!--依赖的范围 complie/provided/test-->
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.atgu</groupId>
        <artifactId>D</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
</dependencies>

Maven仓库管理jar的问题
    1.问题:下载失败或者下载不完全(jar包的扩展名是xxx.jar.lastUpdated结尾的)
        云盘里的脚本工具(clearLastUpdated.bat文件)
   2. 问题:下载成功数据丢失
        建议直接删除,重新下载

思维导图
链接:https://pan.baidu.com/s/1cpcnq3CnOK9LXBxcjoZuIg 
提取码:0303 
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值